Untitled
unknown
c_cpp
2 years ago
2.8 kB
4
Indexable
Never
int __userpurge CLogin::OnSelectWorldResult@<eax>(int a1@<ebp>, int a2@<edi>, int a3) { _DWORD *v3; // ecx _DWORD *v4; // edi int v5; // ebx int result; // eax LONG *v7; // ecx int v8; // eax int v9; // ecx int v10; // ebx char *v11; // esi unsigned int *v12; // eax unsigned int *v13; // eax int v14; // [esp-2Ch] [ebp-2Ch] int v15; // [esp-2Ch] [ebp-2Ch] SEHSetup(); v4 = v3; v3[54] = 0; if ( dword_7433E4 ) (*(**(dword_7433D4 + 260) + 48))(*(dword_7433D4 + 260), 3); v5 = CInPacket::Decode1(*(a1 + 8)); result = v5 + 1; switch ( v5 ) { case -1: case 2: case 3: case 4: case 5: case 6: case 8: case 9: case 10: case 11: case 13: case 16: case 17: case 21: goto LABEL_10; case 7: sub_4CF73D(0); LABEL_10: result = sub_4D7CBF(a1); goto LABEL_11; case 14: result = sub_4D7A52(27); if ( !result ) goto LABEL_11; v14 = *StringPool::GetString(a1 - 24, 2380); *(a1 - 4) = 0; sub_62E601(v14, 0, a2); *(a1 - 4) = -1; v7 = (a1 - 24); break; case 15: result = sub_4D7A52(26); if ( !result ) goto LABEL_11; v15 = *StringPool::GetString(a1 - 28, 2380); *(a1 - 4) = 1; sub_62E601(v15, 0, a2); *(a1 - 4) = -1; v7 = (a1 - 28); break; default: goto LABEL_11; } result = ZXString_char_::_Release(v7); LABEL_11: if ( !v5 || v5 == 12 || v5 == 23 ) { v8 = sub_458F13(v5, a1, v4, 0, *(dword_742AE8 + 8252), *(dword_742AE8 + 8220)); v9 = *(a1 + 8); *(a1 - 36) = v8; *(a1 - 32) = CInPacket::Decode1(v9); *(a1 - 20) = 0; v10 = 0; *(a1 - 16) = 0; do { if ( *(a1 - 20) >= *(a1 - 32) ) { *(v4[59] + v10) = 0; } else { v11 = (v4[59] + v10); sub_480364(v11, *(a1 + 8), 0); AvatarLook::AvatarLook_2(v11 + 179, *(a1 + 8)); if ( CInPacket::Decode1(*(a1 + 8)) ) CInPacket::DecodeBuffer(*(a1 + 8), (*(a1 - 16) + v4[60]), 0x10u); else memset(*(a1 - 16) + v4[60], 0, 16); if ( *(v10 + v4[59]) == *(a1 - 36) ) v4[58] = *(a1 - 20); } *(a1 - 16) += 16; ++*(a1 - 20); v10 += 356; } while ( *(a1 - 16) < 48 ); v12 = ZAllocEx_ZAllocAnonSelector_::Alloc(a1, 128); *(a1 + 8) = v12; *(a1 - 4) = 2; if ( v12 ) sub_4D2534(v4); *(a1 - 4) = -1; v13 = ZAllocEx_ZAllocAnonSelector_::Alloc(a1, 712); *(a1 + 8) = v13; *(a1 - 4) = 3; if ( v13 ) sub_4D3F8C(v4, v4[59]); *(a1 - 4) = -1; return sub_4CC8FA(a1, dword_743EB8, -1); } return result; }