Function at 0x402250
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1064
call fcn.00423410
mov eax, dword [0x45a7c0]
mov ecx, dword [esp + 0x1068]
mov dword [esp + 0x1060], eax
mov eax, dword [esp + 0x106c]
push ebx
mov ebx, dword [eax]
test ebx, ebx
mov dword [ecx + 8], 0
jne 0x402298
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
push ebp
push esi
push edi
mov edi, dword [esp + 0x1080]
test edi, edi
je 0x4022c5
mov eax, dword [edi + 0xe4]
test eax, eax
je 0x40248b
lea edx, [ebx + 0x10]
mov dword [ecx + 0xc], edx
mov eax, dword [ebx + 0xc]
mov dword [ecx + 4], eax
jmp 0x402400
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
sub ebp, eax
cmp ebp, 5
jb 0x402558
mov dl, byte [eax + ebx + 0x10]
cmp dl, 0xe3
mov esi, dword [eax + ebx + 0x11]
je 0x402358
test edi, edi
je 0x4025d1
cmp dl, 0xd4
jne 0x4025d1
cmp esi, dword [0x465dcc]
ja 0x40258c
lea ecx, [esi + 8]
or ecx, 0x3ff
inc ecx
push ecx
call fcn.00422fb2
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4025ac
mov edx, dword [0x462cb0]
mov ecx, dword [0x462cb4]
inc edx
mov dword [0x462cb0], edx
mov edx, dword [esp + 0x1080]
add ecx, esi
mov dword [0x462cb4], ecx
mov dword [edx + 0xfc], ebp
mov dword [ebp], 0
mov dword [ebp + 4], esi
add dword [ebx + 8], 5
jmp 0x402499
lea edx, [esi + 5]
cmp ebp, edx
jae 0x4026d2
cmp esi, 0xbdc
jbe 0x402573
cmp ebp, 0xc8
jbe 0x402573
cmp byte [eax + ebx + 0x15], 0x15
jne 0x40258c
test edi, edi
je 0x40258c
mov edx, dword [edi + 0x1c]
test dh, 0x40
jne 0x40270c
mov eax, dword [eax + ebx + 0x16]
mov dword [edi + 0xe4], eax
cmp eax, dword [0x465dc4]
ja 0x402740
mov edx, dword [edi + 0x138]
inc edx
test eax, eax
mov dword [edi + 0x138], edx
je 0x4023e3
mov eax, dword [edi + 0xd8]
push 1
push 0xa
push eax
call fcn.0041fb10
add esp, 0xc
test eax, eax
je 0x402592
mov ecx, dword [esp + 0x1078]
add dword [ebx + 8], 0xa
lea edx, [ebx + 0x10]
mov dword [ecx + 0xc], edx
mov eax, dword [ebx + 0xc]
mov dword [ecx + 4], eax
jmp 0x402400
mov ecx, dword [esp + 0x1078]
lea esp, [esp]
mov edx, dword [ebx + 8]
lea eax, [esp + 0x14]
mov dword [ecx], edx
push eax
lea edx, [esp + 0x3c]
push edx
push ecx
call fcn.0040fbb0
add esp, 0xc
test eax, eax
je 0x402433
cmp eax, 3
je 0x40246d
cmp eax, 4
je 0x402592
mov esi, dword [esp + 0x1080]
jmp 0x402459
mov esi, dword [esp + 0x1080]
test dword [esi + 0x108], 0xc08000
jne 0x402459
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
push ecx
push esi
call fcn.004114f0
add esp, 0xc
mov edx, dword [esp + 0x1078]
mov eax, dword [edx]
mov dword [ebx + 8], eax
dec dword [esi + 0xe4]
jne 0x4023f5
mov ecx, dword [esp + 0x1080]
mov eax, dword [ecx + 0xe4]
test eax, eax
jne 0x402573
mov edi, ecx
mov ecx, dword [esp + 0x1078]
mov ebp, dword [edi + 0xfc]
test ebp, ebp
je 0x4022c5
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
sub eax, esi
je 0x402573
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
sub ecx, edx
cmp eax, ecx
jbe 0x4024b5
mov eax, ecx
lea edi, [edx + ebp + 8]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea esi, [esi + ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [ebp], eax
add dword [ebx + 8], eax
mov eax, dword [ebp + 4]
cmp dword [ebp], eax
jne 0x402573
lea eax, [eax*8 + 0x400]
cmp eax, 0x1e5d70
jbe 0x4024f2
mov eax, 0x1e5d70
or eax, 0x3ff
mov dword [esp + 0x10], eax
inc eax
push eax
call fcn.00422fb2
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
jne 0x402765
mov eax, dword [esp + 0x1080]
mov dword [eax + 0xfc], edi
mov esi, dword [0x462cb0]
mov edx, dword [0x462cb4]
dec esi
mov dword [0x462cb0], esi
mov ecx, dword [ebp + 4]
sub edx, ecx
push ebp
mov dword [0x462cb4], edx
call fcn.00422e9a
mov edi, dword [esp + 0x1084]
mov ecx, dword [esp + 0x107c]
add esp, 4
jmp 0x4022c5
test ebp, ebp
jne 0x402573
push ebx
push 0x45a180
call fcn.0041f5e0
mov edx, dword [esp + 0x1084]
add esp, 8
mov dword [edx], ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
inc dword [0x462dd8]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov eax, dword [0x462cb8]
pop edi
pop esi
inc eax
pop ebp
mov dword [0x462cb8], eax
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov eax, dword [ebx + 8]
mov edx, dword [eax + ebx + 0x10]
lea esi, [eax + ebx + 0x10]
mov ecx, str.GET
cmp edx, dword [ecx]
je 0x4025f9
mov ecx, 5
mov edi, str.HEAD
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4026b8
mov esi, dword [esp + 0x1084]
mov ecx, dword [esi + 0xd8]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0041fa90
add esp, 8
push 0x465da0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x466480]
mov ecx, dword [0x466484]
push eax
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x7c]
push str._html__head__title_404_File_not_found___eserver_is_not_a_HTTP_server__title___head__body_bgcolor_fdf5cd__text_black__link_d00101__vlink_2c2e83__alink_1d7225___center__h2_eserver_is_not_a_HTTP_server__h2__h3_Please_fix_your_software.__h3__br_Technical_informations_about_eserver__edonkey_emule_server__:__A_HREF_http:__lugdunum2k.free.fr_kiten.html__http:__lugdunum2k.free.fr_kiten.html__A__br__br_Your_IP_address_is__s_br__r_n_br_This_server_name_:__s_r_n_br_This_server_desc_:__s_r_n__center___body___html_
push eax
call fcn.00422d02
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add esp, 0x14
push 0x465da0
call edi
lea ecx, [esp + 0x70]
push ecx
push str.Not_Found
push 0x194
push esi
call fcn.00402140
add esp, 0x10
call fcn.0040cee0
test eax, eax
je 0x4026b8
mov edx, dword [ebx + 8]
push ebp
lea eax, [edx + ebx + 0x10]
push eax
lea ecx, [esp + 0x78]
push 0x1000
push ecx
call fcn.0041d9e0
add esp, 0x10
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.0040f280
add esp, 4
push eax
push str._s__s__s_n
call fcn.0040cf40
add esp, 0x10
push 0x462d5c
call edi
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov edx, dword [ebx + 8]
lea eax, [edx + ebx + 0x15]
mov dword [ecx + 0xc], eax
mov dword [ecx + 4], esi
mov dword [ecx], 0
mov eax, dword [ebx + 8]
add esi, 5
pop edi
add eax, esi
pop esi
mov dword [ebx + 8], eax
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
inc dword [0x462de0]
mov ecx, dword [edi + 0xdc]
push str.ERROR:_zlib_MUST_be_used__not_only_advertized.
push ecx
call fcn.00402090
add esp, 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov eax, dword [0x462ddc]
pop edi
pop esi
inc eax
pop ebp
mov dword [0x462ddc], eax
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov dl, byte [ebp + 8]
mov byte [esi], dl
mov eax, dword [ebp + 4]
dec eax
push eax
lea ecx, [ebp + 9]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esi + 1]
push eax
call fcn.00422a10
add esp, 0x10
cmp eax, edi
je 0x4027c5
cmp dword [0x466450], edi
je 0x4027a2
mov ecx, dword [ebp + 4]
push eax
push ecx
push str.uncompress_len_u____d_n
call fcn.0040ce60
add esp, 0xc
push esi
call fcn.00422e9a
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x1060]
call fcn.004233fe
add esp, 0x1064
ret
mov eax, dword [0x462cb0]
mov ebx, dword [0x462cb4]
dec eax
mov dword [0x462cb0], eax
mov edx, dword [ebp + 4]
sub ebx, edx
push ebp
mov dword [0x462cb4], ebx
call fcn.00422e9a
mov eax, dword [esp + 0x1084]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xfc], edi
mov eax, dword [esp + 0x107c]
add esp, 4
mov dword [eax], edi
pop edi
mov dword [eax + 0xc], esi
inc ecx
pop esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1068]
pop ebp
mov dword [eax + 8], 1
mov eax, 1
pop ebx
call fcn.004233fe
add esp, 0x1064
ret