Function at 0x41dd90
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2040
call fcn.004340e0
push ebx
mov ebx, ecx
mov dword [ebp - 4], ebx
cmp dword [ebx + 0x14], 0
jne 0x41ddb3
cmp dx, 0x64
ja 0x41f0ff
movzx eax, dx
push esi
push edi
cmp eax, 0x105
ja 0x41e9b2
je 0x41e99f
dec eax
cmp eax, 0xb6
ja case.0x41ecc5.698
movzx eax, byte [eax + 0x41f1a8]
jmp dword [eax*4 + 0x41f104]
mov eax, dword [ebp + 8]
mov cl, byte [eax]
lea esi, [eax + 1]
movzx edi, cl
lea eax, [edi + 1]
push eax
call fcn.004332ac
push edi
push esi
push eax
mov dword [ebp - 8], eax
call fcn.00447720
mov eax, dword [ebp - 8]
push 1
mov byte [eax + edi], 0
call fcn.0044e524
push eax
call fcn.0044e9e5
xor esi, esi
mov dword [ebp - 4], 0
push esi
lea eax, [ebp - 4]
push eax
push 0xffffffffffffffff
push str.SELECT_Uin__Password__FROM_User__WHERE_Name__
push dword [0x4918dc]
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x2c
test eax, eax
jne 0x41de83
mov edx, dword [ebp - 8]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41de46
push 0xffffffffffffffff
sub ecx, edi
push ecx
push edx
push 1
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_text]
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_step]
add esp, 0x18
cmp eax, 0x64
jne 0x41de83
push 0
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
add esp, 8
lea esi, [eax + 0x2710]
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_finalize]
push dword [ebp - 8]
call fcn.00433246
add esp, 8
push 0
call dword [sym.imp.WS2_32.dll_htons]
push esi
mov word [ebp - 0x140], ax
call dword [sym.imp.WS2_32.dll_htonl]
push ecx
mov dword [ebp - 0x13e], eax
mov edx, 1
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push 1
push eax
movzx eax, word [ebx + 0x36]
push 3
push eax
lea eax, [ebp - 0x140]
push 6
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x48fa3d], 1
jne case.0x41ecc5.698
mov edx, dword [ebp + 8]
push ecx
call fcn.00430b90
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
mov eax, dword [edi + 4]
push eax
call esi
mov ebx, eax
mov eax, dword [edi + 8]
add edi, 0xc
push eax
mov dword [ebp - 8], edi
call esi
mov edi, eax
mov eax, dword [ebp - 8]
push dword [eax]
call esi
mov esi, eax
mov eax, dword [ebp - 8]
push dword [eax + 0x27]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebp - 4]
mov edx, ebx
push esi
push edi
call fcn.00410690
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
movzx eax, word [edi + 4]
mov esi, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call esi
movzx eax, word [edi + 6]
push eax
call esi
movzx eax, word [edi + 8]
push eax
call esi
movzx edx, ax
mov ecx, ebx
call fcn.00410d80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00425c90
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
push 0
call dword [sym.imp.WS2_32.dll_htons]
push ecx
push 1
mov word [ebp - 0x2040], ax
mov edx, 0x65
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 0x203e], 0
push 3
push eax
call fcn.004202d0
mov ecx, dword [ebx]
add esp, 0x1c
mov eax, dword [ecx]
push 1
push dword [ebx + 0x10]
call dword [eax + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea ebx, [eax + 4]
call esi
mov eax, dword [ebx]
push eax
call esi
movzx eax, word [ebx + 4]
mov edi, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call edi
movzx eax, word [ebx + 6]
push eax
call edi
movzx eax, word [ebx + 8]
push eax
call edi
movzx esi, ax
movzx eax, word [ebx + 0xa]
push eax
call edi
mov ecx, dword [ebp - 4]
mov edx, esi
movzx eax, ax
push eax
call fcn.0042aed0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042b190
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042b5d0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
movzx eax, word [edi + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
test ax, ax
jne case.0x41ecc5.698
mov ecx, ebx
call fcn.00423650
jmp 0x41ec05
mov edx, dword [ebp + 8]
push ecx
call fcn.0042d2d0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042d3f0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042d5b0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042cd90
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.0042d6b0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00426e20
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x78], 0
jne case.0x41ecc5.698
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
movzx ecx, word [ebx + 0x34]
call fcn.0042ade0
test eax, eax
je case.0x41ecc5.698
pop edi
pop esi
mov dword [ebx + 0x38], 1
mov dword [ebx + 0x3c], 0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
push dword [edi + 4]
call esi
mov dword [ebp - 8], eax
movzx eax, word [edi + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov al, byte [edi + 0xa]
movzx ecx, word [ebx + 0x34]
mov byte [ebp - 0xd], al
mov al, byte [edi + 0xb]
mov byte [ebp - 0xe], al
mov al, byte [edi + 0xc]
mov byte [ebp - 1], al
call fcn.0042ade0
mov esi, eax
mov dword [ebp - 0xc], esi
test esi, esi
je case.0x41ecc5.698
mov eax, dword [ebp - 8]
mov edx, esi
mov dword [esi + 0x64], eax
mov ecx, ebx
mov al, byte [ebp - 0xd]
mov byte [esi + 0x68], al
mov al, byte [ebp - 0xe]
mov byte [esi + 0x69], al
mov al, byte [ebp - 1]
mov byte [esi + 0x6a], al
call fcn.0042d160
add esi, 0x38
mov edi, 6
mov ecx, dword [esi]
test ecx, ecx
je 0x41e208
cmp ecx, ebx
je 0x41e208
push dword [ebp - 0xc]
mov edx, dword [ebx + 0x18]
call fcn.0042d220
add esp, 4
add esi, 4
sub edi, 1
jne 0x41e1f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea ebx, [eax + 4]
call edi
push dword [ebx]
call edi
push dword [ebx + 0x15]
call edi
push dword [ebx + 0x19]
mov esi, eax
call edi
mov ecx, dword [ebp - 4]
mov edx, esi
call fcn.00429570
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x3c], 1
je case.0x41ecc5.698
mov edx, dword [ebp + 8]
push ecx
call fcn.00414fc0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x78]
cmp eax, 0xffff
je case.0x41ecc5.698
cmp eax, 0xfffe
je case.0x41ecc5.698
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
movzx eax, word [edi + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [0x494000]
inc eax
mov dword [0x494000], eax
cmp eax, 0x1a
jb 0x41e2b5
mov dword [0x494000], 0
mov esi, dword [sym.imp.WS2_32.dll_htons]
push 0
call esi
push dword [ebx + 0x18]
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov word [ebp - 0x2040], ax
call edi
mov dword [ebp - 0x203e], eax
mov eax, dword [0x494000]
movzx eax, word [eax*2 + 0x480f5c]
push eax
call esi
push 0
mov word [ebp - 0x203a], ax
call edi
push 0
mov dword [ebp - 0x2038], eax
mov byte [ebp - 0x2034], 0
call edi
push 0
mov dword [ebp - 0x2033], eax
mov byte [ebp - 0x202f], 0
call esi
push 0
mov word [ebp - 0x202e], ax
call edi
push 0
mov dword [ebp - 0x202c], eax
mov word [ebp - 0x2028], 0
call edi
push 0
mov dword [ebp - 0x2026], eax
mov byte [ebp - 0x2022], 0
call edi
push ecx
push 1
mov dword [ebp - 0x2021], eax
mov edx, 0x7c
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
push 0x23
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00427330
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov si, ax
cmp si, 2
je 0x41e41a
movzx eax, word [ebx + 0x10]
mov edx, 0x214
push ecx
push 2
push eax
movzx eax, word [ebx + 0x36]
mov ecx, ebx
push 3
push eax
push 2
push 0x480630
call fcn.004202d0
movzx eax, word [ebx + 0x10]
add esp, 0x18
mov edx, 0x216
mov ecx, ebx
push 2
push eax
movzx eax, word [ebx + 0x36]
push 3
push eax
push 2
push 0x480630
call fcn.004202d0
add esp, 0x1c
cmp si, 4
jne 0x41e40c
mov dword [ebx + 0x78], 0
pop edi
pop esi
mov dword [ebx + 0x7c], 0
pop ebx
mov esp, ebp
pop ebp
ret
inc dword [ebx + 0x7c]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push 0
call edi
push dword [ebx + 0x18]
mov esi, dword [sym.imp.WS2_32.dll_htonl]
mov word [ebp - 0x140], ax
call esi
push 2
mov dword [ebp - 0x13e], eax
call edi
push dword [ebx + 0x7c]
mov word [ebp - 0x13a], ax
call esi
push ecx
push 1
mov dword [ebp - 0x138], eax
mov edx, 0x8b
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x140]
push 0xc
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
push 0
mov esi, eax
call dword [sym.imp.WS2_32.dll_htons]
push dword [ebx + 0x18]
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov word [ebp - 0x2040], ax
call edi
push esi
mov dword [ebp - 0x203e], eax
call edi
push 0
mov dword [ebp - 0x203a], eax
call edi
push 0
mov dword [ebp - 0x2036], eax
call edi
push ecx
push 1
mov dword [ebp - 0x2032], eax
mov edx, 0x98
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
push 0x12
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00415930
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00426ec0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
mov ecx, ebx
call fcn.00428390
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0xffffffffffffffff
push str.SELECT_F.Uin_B.NickName_FROM_FriendInfo_F_join_BaseInfo_b__on_F.UinB.Uin_WHERE_F.FriendUin____
push dword [0x4918d8]
call dword [sym.imp.sqlite3.dll_sqlite3_prepare_v2]
add esp, 0x14
test eax, eax
jne case.0x41ecc5.698
push dword [ebx + 0x18]
push 1
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_bind_int]
push dword [ebp - 4]
mov edi, dword [sym.imp.sqlite3.dll_sqlite3_step]
call edi
add esp, 0x10
cmp eax, 0x64
jne case.0x41ecc5.698
push 1
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_column_text]
add esp, 8
mov ecx, eax
call fcn.0041db10
mov esi, eax
push esi
push 0
push dword [ebp - 4]
call dword [sym.imp.sqlite3.dll_sqlite3_column_int]
add esp, 8
mov edx, eax
mov ecx, ebx
call fcn.0042a1f0
add esp, 4
test esi, esi
je 0x41e5d4
push esi
call fcn.00433246
add esp, 4
push dword [ebp - 4]
call edi
add esp, 4
cmp eax, 0x64
je 0x41e595
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
mov ecx, eax
call fcn.0042e240
test eax, eax
je case.0x41ecc5.698
mov edx, ebx
mov ecx, eax
call fcn.00421d20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
mov ecx, eax
call fcn.0042e240
test eax, eax
je case.0x41ecc5.698
mov edx, ebx
mov ecx, eax
call fcn.00421640
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
mov eax, dword [edi + 4]
push eax
call esi
push dword [edi + 8]
call esi
push dword [edi + 0xc]
mov dword [ebp - 0xc], eax
call esi
mov ecx, eax
call fcn.0042e240
test eax, eax
je case.0x41ecc5.698
push dword [ebp - 0xc]
mov edx, ebx
mov ecx, eax
call fcn.00421970
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebx + 0x36], 2
jne case.0x41ecc5.698
mov edx, dword [ebp + 8]
push ecx
call fcn.00415c10
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.004288e0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push 0
call dword [sym.imp.WS2_32.dll_htons]
push dword [ebx + 0x18]
mov word [ebp - 0x2040], ax
call dword [sym.imp.WS2_32.dll_htonl]
push ecx
push 1
mov dword [ebp - 0x203e], eax
mov edx, 0xb7
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
push 6
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
push dword [esi + 8]
call dword [sym.imp.WS2_32.dll_ntohl]
mov edi, eax
mov al, byte [esi + 0x18]
movzx ecx, al
test al, al
lea esi, [ecx + 1]
cmovne esi, ecx
cmp byte [0x48fa3c], 0
jne 0x41e7a6
push 0xffff
call dword [sym.imp.WS2_32.dll_htons]
movq xmm0, qword [0x481020]
mov word [ebp - 0x2040], ax
mov eax, dword [0x481028]
mov dword [ebp - 0x2035], eax
mov al, byte [0x48102c]
push ecx
push 1
mov byte [ebp - 0x2031], al
movzx eax, word [ebx + 0x10]
push eax
movzx eax, word [ebx + 0x34]
push 2
push eax
mov byte [ebp - 0x203e], 0xd
movq qword [ebp - 0x203d], xmm0
push 0x10
jmp 0x41e845
mov ecx, ebx
cmp edi, 0xf543
jne 0x41e7c9
call fcn.00421c00
push esi
mov edx, edi
mov ecx, ebx
call fcn.00428790
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, si
mov edx, edi
push eax
mov dword [ebp - 0xc], eax
call fcn.0041f780
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
jne 0x41e862
push 0xffff
call dword [sym.imp.WS2_32.dll_htons]
movups xmm0, xmmword [0x481030]
mov word [ebp - 0x2040], ax
mov ax, word [0x481048]
mov word [ebp - 0x2025], ax
mov al, byte [0x48104a]
push ecx
push 1
mov byte [ebp - 0x2023], al
movzx eax, word [ebx + 0x10]
push eax
movzx eax, word [ebx + 0x34]
push 2
movups xmmword [ebp - 0x203d], xmm0
push eax
movq xmm0, qword [0x481040]
mov byte [ebp - 0x203e], 0x1b
movq qword [ebp - 0x202d], xmm0
push 0x1e
lea eax, [ebp - 0x2040]
mov edx, 0x6e
push eax
mov ecx, ebx
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov edx, edi
mov ecx, ebx
call fcn.00428790
mov edx, dword [ebp - 8]
mov ecx, ebx
push edi
push dword [ebp - 0xc]
call fcn.00420070
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
mov eax, dword [edi]
push eax
call esi
push dword [edi + 4]
call esi
lea edx, [edi + 8]
mov ecx, ebx
call fcn.0042c990
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov edx, ebx
call fcn.0041f480
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
push dword [edi + 6]
mov bl, byte [edi + 4]
call esi
push 0x27
mov esi, eax
lea eax, [ebp - 0x40]
push 0
push eax
call fcn.00447cb0
add esp, 0xc
test bl, bl
jne 0x41e90e
movups xmm0, xmmword [0x480e00]
mov eax, dword [0x480e20]
mov dword [ebp - 0x20], eax
mov ax, word [0x480e24]
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x480e10]
jmp 0x41e95a
cmp esi, 0x78
jne 0x41e935
movups xmm0, xmmword [0x480e28]
mov eax, dword [0x480e48]
mov dword [ebp - 0x20], eax
mov ax, word [0x480e4c]
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x480e38]
jmp 0x41e95a
cmp esi, 2
jne 0x41e962
movups xmm0, xmmword [0x480e50]
mov eax, dword [0x480e70]
mov dword [ebp - 0x20], eax
mov ax, word [0x480e74]
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x480e60]
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x1c], ax
mov esi, dword [ebp - 4]
mov edx, 0x83
push ecx
push 1
mov ecx, esi
movzx eax, word [esi + 0x10]
push eax
push 1
push eax
lea eax, [ebp - 0x40]
push 0x26
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00422350
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push ecx
call fcn.00428690
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
cmp eax, 0x23c
ja 0x41ec8c
je 0x41ec39
sub eax, 0x10f
cmp eax, 0xec
ja case.0x41ecc5.698
movzx eax, byte [eax + 0x41f298]
jmp dword [eax*4 + 0x41f260]
mov edi, esi
movzx eax, word [edi]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
push dword [edi + 2]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
movzx eax, ax
mov dword [ebp - 0xc], eax
call esi
push dword [edi + 6]
call esi
mov ecx, eax
call fcn.0042e240
mov esi, eax
test esi, esi
je case.0x41ecc5.698
mov edx, dword [ebp - 0xc]
mov ecx, esi
push ebx
call fcn.00421700
mov edx, dword [ebp - 0xc]
mov ecx, ebx
push esi
call fcn.00421700
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.00427c40
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.004277a0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 0xc]
mov edx, esi
call fcn.00423770
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.00422e10
add esp, 4
push dword [esi]
lea ebx, [esi + 4]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
call esi
mov eax, dword [ebx]
push eax
call esi
movzx eax, word [ebx + 4]
mov edi, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call edi
movzx esi, ax
movzx eax, word [ebx + 6]
push eax
call edi
test si, si
jne case.0x41ecc5.698
mov esi, dword [ebp - 4]
mov ecx, esi
call fcn.00423650
xor edx, edx
mov ecx, esi
call fcn.0042bec0
xor edx, edx
mov ecx, esi
call fcn.0042c180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 0xc]
mov edx, esi
call fcn.004247b0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.004234f0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
movzx eax, word [edi + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
mov eax, 0x82
cmp dx, ax
jne 0x41eb2e
mov edx, eax
mov ecx, ebx
call fcn.00418c90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov ecx, ebx
call fcn.00418e70
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
mov ecx, ebx
call fcn.00420640
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
mov eax, dword [edi + 4]
push eax
call esi
push dword [edi + 8]
call esi
movzx eax, word [edi + 0xc]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
sub esp, 8
mov ecx, ebx
call fcn.00415870
movzx ecx, word [ebx + 0x34]
add esp, 8
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x3c], 0
call fcn.0042ade0
mov esi, eax
test esi, esi
je 0x41ec0e
cmp byte [esi + 0x23], 1
jne 0x41ebf1
cmp dword [ebx + 0x78], 0
jne 0x41ebf1
cmp byte [esi + 0x60], 6
jne 0x41ebda
push 6
mov edx, esi
mov ecx, ebx
call fcn.0042b3e0
add esp, 4
mov ecx, ebx
call fcn.00422cc0
xor edx, edx
mov dword [esi + 0x5c], 0
mov ecx, ebx
call fcn.0042c180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x60], 6
jne 0x41ec05
push 0
mov edx, esi
mov ecx, ebx
call fcn.0042b3e0
add esp, 4
xor edx, edx
mov ecx, ebx
call fcn.0042bec0
xor edx, edx
mov ecx, ebx
call fcn.0042c180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
push dword [eax + 8]
call dword [sym.imp.WS2_32.dll_ntohl]
mov edx, ebx
mov ecx, eax
call fcn.004199e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
movzx eax, word [edi]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
push dword [edi + 2]
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
movzx eax, ax
mov dword [ebp - 0xc], eax
call esi
push dword [edi + 6]
call esi
mov ecx, eax
call fcn.0042e240
mov esi, eax
test esi, esi
je case.0x41ecc5.698
mov edx, dword [ebp - 0xc]
mov ecx, esi
push ebx
call fcn.00421a40
mov edx, dword [ebp - 0xc]
mov ecx, ebx
push esi
call fcn.00421a40
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x4e20
ja 0x41ef73
je 0x41ef55
cmp eax, 0x5dc
ja 0x41ed97
je 0x41ed3c
sub eax, 0x2b9
cmp eax, 0xd4
ja case.0x41ecc5.698
movzx eax, byte [eax + 0x41f39c]
jmp dword [eax*4 + 0x41f388]
push ecx
mov edx, esi
call fcn.00427890
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 0x10]
mov edx, 0x2bf
push ecx
push 1
push eax
push 1
push eax
push 2
push 0x480630
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 0x2c]
mov edx, 0x2b9
push ecx
push 1
push eax
push 1
push eax
push 2
push 0x480630
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.004218c0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
xor eax, eax
push eax
mov dword [ebx + 0x34], eax
call dword [sym.imp.WS2_32.dll_htonl]
push ecx
push 1
mov dword [ebp - 0x2040], eax
mov edx, 0x5dc
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
push 4
push eax
call fcn.004202d0
add esp, 0x1c
xor edx, edx
mov ecx, ebx
call fcn.00414df0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, 0x5dd
je 0x41ef25
sub eax, 0x2fac
je 0x41eeb4
sub eax, 5
jne case.0x41ecc5.698
mov eax, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [eax]
lea edi, [eax + 4]
call esi
mov eax, dword [edi]
push eax
call esi
push dword [edi + 4]
call esi
push 0x6400
mov esi, eax
call fcn.004332ac
add esp, 4
mov edi, eax
mov dword [ebp - 0x18], edi
push dword [ebx + 0x18]
call dword [sym.imp.WS2_32.dll_htonl]
push esi
mov dword [edi], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov esi, dword [sym.imp.WS2_32.dll_htons]
mov dword [edi + 4], eax
mov byte [edi + 8], 0
add edi, 9
push 0
mov dword [ebp - 0x14], edi
call esi
mov ecx, dword [0x492594]
mov word [edi], ax
add edi, 2
test ecx, ecx
je case.0x41ecc5.698
mov eax, dword [ecx]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x41ee7d
xor ebx, ebx
push 0
call esi
mov word [edi], ax
mov eax, dword [ebp - 8]
push dword [eax + ebx*8]
call dword [sym.imp.WS2_32.dll_htonl]
push 0
mov dword [edi + 2], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [edi + 6], eax
mov eax, dword [ebp - 8]
push dword [eax + ebx*8 + 4]
call dword [sym.imp.WS2_32.dll_htonl]
mov esi, dword [sym.imp.WS2_32.dll_htons]
push 0xe
mov dword [edi + 0xa], eax
call esi
mov word [edi], ax
inc ebx
mov eax, dword [ebp - 0xc]
add edi, 0xe
cmp ebx, eax
jb 0x41ee31
mov ebx, dword [ebp - 4]
push eax
call esi
mov ecx, dword [ebp - 0x14]
mov edx, 0x358e
mov esi, dword [ebp - 0x18]
sub edi, esi
push ecx
push 1
mov word [ecx], ax
mov ecx, ebx
movzx eax, word [ebx + 0x10]
push eax
push 1
push eax
push edi
push esi
call fcn.004202d0
push esi
call fcn.00433246
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
mov esi, dword [sym.imp.WS2_32.dll_htonl]
mov edi, eax
push 0
call esi
push edi
mov dword [ebp - 0x2040], eax
call esi
push 0
mov dword [ebp - 0x203c], eax
call dword [sym.imp.WS2_32.dll_htons]
push ecx
push 1
mov word [ebp - 0x2038], ax
mov edx, 0x3589
movzx eax, word [ebx + 0x10]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 0x2036], 0
push 0xb
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push dword [edi + 8]
call esi
xor ecx, ecx
mov edx, 3
test eax, eax
cmovne edx, ecx
mov ecx, ebx
call fcn.004300e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, esi
call fcn.00430230
add esp, 4
push ebx
push ecx
mov ecx, esi
call fcn.0041fe30
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x61a8
ja 0x41f06a
je 0x41f05e
sub eax, 0x4e6f
je 0x41f000
sub eax, 3
je 0x41efad
sub eax, 0x1049
jne case.0x41ecc5.698
push ecx
mov edx, esi
call fcn.004221e0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
push dword [edi]
call esi
push dword [edi + 4]
call esi
push 0
call dword [sym.imp.WS2_32.dll_htons]
push ecx
push 1
mov word [ebp - 0x2040], ax
mov edx, 0x4e72
movzx eax, word [ebx + 0x2c]
mov ecx, ebx
push eax
push 1
push eax
lea eax, [ebp - 0x2040]
mov word [ebp - 0x203e], 0
push 4
push eax
call fcn.004202d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 8]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
push dword [esi + 0x10]
mov word [ebp - 2], ax
movzx edi, ax
call dword [sym.imp.WS2_32.dll_ntohl]
test eax, eax
je 0x41f02a
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_ntohl]
jmp 0x41f02c
xor eax, eax
cmp edi, 8
je case.0x41ecc5.698
cmp edi, 0xa
je 0x41f04a
test di, di
je 0x41f04a
cmp word [ebp - 2], 1
jne case.0x41ecc5.698
push eax
mov edx, edi
mov ecx, ebx
call fcn.0042c7b0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00419030
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, 0x6edb
je 0x41f0f8
sub eax, 0x21
je 0x41f095
sub eax, 9
jne case.0x41ecc5.698
push ecx
mov edx, esi
call fcn.00430180
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.WS2_32.dll_ntohl]
mov eax, esi
push dword [eax]
lea edi, [eax + 4]
call ebx
mov eax, dword [edi]
push eax
call ebx
movzx eax, word [edi + 4]
mov esi, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call esi
movzx ebx, ax
movzx eax, word [edi + 6]
add edi, 8
push eax
mov dword [ebp - 8], edi
call esi
movzx edi, ax
mov eax, dword [ebp - 8]
movzx eax, word [eax]
push eax
call esi
movzx esi, ax
mov eax, dword [ebp - 8]
push dword [eax + 2]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [ebp - 4]
mov edx, ebx
push eax
push esi
push edi
call fcn.00421200
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004214b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret