Function at 0x40af90
Capabilities:
Make an http request with a cookie
Read and send data from client to server
Read file on windows
Receive data
Receive data on socket
Resolve function by parsing pe exports
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2d1c
call fcn.00439190
mov eax, dword [0x453348]
xor eax, esp
mov dword [esp + 0x2d18], eax
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
push ebx
lea ecx, [ebp + 8]
mov dword [esp + 0x20], esi
call fcn.00409ee0
add esp, 4
push 8
lea ecx, [esp + 0x70]
push ecx
push 0x1006
push 0xffff
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x80], 0x3c
mov dword [esp + 0x84], ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp dword [ebp + 0x38], 0x10
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
jae 0x40b018
lea eax, [ebp + 0x24]
push 0x44e828
push eax
call fcn.0041e7c0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x40c1c8
push 2
push ebx
push edi
call fcn.0041f7ed
push edi
call fcn.0041f09e
mov dword [esp + 0x20], eax
dec eax
add esp, 0x10
cmp eax, 0x1312cfe
ja 0x40c08e
mov edx, dword [esp + 0x10]
add edx, 0xa
push edx
call fcn.0041d9c1
push ebx
mov esi, eax
push ebx
push edi
mov dword [esp + 0x1c], esi
call fcn.0041f7ed
mov eax, dword [esp + 0x20]
push edi
push eax
push 1
push esi
call fcn.0041eb86
push edi
call fcn.0041fca2
mov ecx, dword [esp + 0x34]
add esp, 0x24
push ecx
push esi
lea ecx, [esp + 0x7c]
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.00401bb0
lea edi, [esp + 0x74]
lea esi, [esp + 0x90]
call fcn.00401900
cmp dword [esp + 0x88], 0x10
jb 0x40b0d0
mov edx, dword [esp + 0x74]
push edx
call fcn.0041d1cc
add esp, 4
mov eax, dword [esp + 0xc]
push eax
call fcn.0041e914
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea ecx, [esp + 0x510]
push 0x44e868
push ecx
call fcn.0041d551
mov edi, 0xa
add esp, 0xc
mov dword [esp + 0x22c], 0xf
mov dword [esp + 0x228], ebx
mov byte [esp + 0x218], bl
cmp dword [0x455e84], edi
jae 0x40b1b6
lea edx, [esp + 0x1c4]
push edx
mov edi, 0xf
call fcn.00404c20
mov esi, eax
add esp, 4
lea eax, [esp + 0x50c]
push eax
lea ecx, [esp + 0x200]
call fcn.00401820
mov edi, eax
push 0x455e74
mov ebx, 0x44e86c
lea eax, [esp + 0x13c]
call fcn.00417230
mov ecx, eax
add esp, 4
mov eax, edi
lea ebx, [esp + 0xe4]
call fcn.00417640
mov ecx, eax
mov eax, esi
lea ebx, [esp + 0xac]
call fcn.00417640
mov edi, eax
lea esi, [esp + 0x218]
call fcn.00401900
mov ecx, ebx
call fcn.00401880
lea ecx, [esp + 0xe4]
call fcn.00401880
lea ecx, [esp + 0x138]
jmp 0x40b274
push edi
push ebx
push 0x455e74
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.00401e30
lea ecx, [esp + 0x1c4]
push ecx
call fcn.00404c20
add esp, 4
lea edx, [esp + 0x50c]
push edx
lea ecx, [esp + 0x200]
mov esi, eax
call fcn.00401820
mov edi, eax
lea eax, [esp + 0x74]
push eax
mov eax, 0x44e86c
lea ecx, [esp + 0x13c]
call fcn.004175d0
mov ecx, eax
add esp, 4
mov eax, edi
lea ebx, [esp + 0xe4]
call fcn.00417640
mov ecx, eax
mov eax, esi
lea ebx, [esp + 0xac]
call fcn.00417640
mov edi, eax
lea esi, [esp + 0x218]
call fcn.00401900
mov ecx, ebx
call fcn.00401880
lea ecx, [esp + 0xe4]
call fcn.00401880
lea ecx, [esp + 0x138]
call fcn.00401880
lea ecx, [esp + 0x74]
call fcn.00401880
lea ecx, [esp + 0x1fc]
call fcn.00401880
lea ecx, [esp + 0x1c4]
call fcn.00401880
sub esp, 0x1c
mov ecx, esp
xor ebx, ebx
push 0x19
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push 0x44e870
mov byte [ecx], bl
call fcn.00401bb0
lea edi, [esp + 0xe4]
call fcn.00418e70
mov edi, str._r_n__
lea esi, [esp + 0x250]
mov dword [esp + 0x30], 0x44e88c
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], str.Submit
mov dword [esp + 0x54], str._r_nContent_Disposition:_form_data__name_upload__r_n_r_n
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], str._r_nContent_Disposition:_form_data__name_keyword__r_n_r_n
mov dword [esp + 0x40], edi
mov dword [esp + 0x74], 0x44e90c
mov dword [esp + 0x68], str._r_nContent_Disposition:_form_data__name_state__r_n_r_n
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], 0x44e944
mov dword [esp + 0x80], str._r_nContent_Disposition:_form_data__name_ttype__r_n_r_n
mov dword [esp + 0x58], edi
mov dword [esp + 0x84], str._r_nContent_Disposition:_form_data__name_IDOP__r_n_r_n
mov dword [esp + 0x50], edi
call fcn.0040e380
mov ecx, esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp + 0x24]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x54], str._r_nContent_Disposition:_form_data__name_hst__r_n_r_n
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], str._r_nContent_Disposition:_form_data__name_id__r_n_r_n
mov dword [esp + 0x78], edi
mov dword [esp + 0x38], str.__r_nContent_Type:_application_octet_stream_r_n_r_n
mov byte [ecx], bl
call fcn.00401e30
lea ecx, [esp + 0x448]
call fcn.0040e120
mov dword [esp + 0x28], eax
push 0x44e88c
lea ebx, [esp + 0xe8]
lea eax, [esp + 0x4a0]
call fcn.004176a0
add esp, 0x20
mov ecx, eax
push 0x3b
mov eax, str._r_nContent_Disposition:_form_data__name_upFile___filename_
call fcn.00414470
xor ecx, ecx
mov edi, eax
lea esi, [esp + 0xac]
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], ecx
mov byte [esp + 0xac], cl
call fcn.00401900
mov eax, dword [esp + 0xc]
mov ecx, esi
lea ebx, [esp + 0x464]
call fcn.00417640
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x4bc]
call fcn.004175d0
add esp, 4
xor ebx, ebx
mov esi, eax
push ebx
lea eax, [esp + 0x94]
push eax
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0xe4]
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
call fcn.00401900
mov eax, dword [esp + 0x50]
mov ecx, esi
push ecx
lea ecx, [esp + 0x4a0]
call fcn.004175d0
add esp, 4
push ebx
lea edx, [esp + 0xcc]
mov esi, eax
push edx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x138]
mov dword [esp + 0x14c], 0xf
mov dword [esp + 0x148], ebx
mov byte [esp + 0x138], bl
call fcn.00401900
mov eax, esi
push eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x4f4]
call fcn.004175d0
add esp, 4
push ebx
mov esi, eax
push 0x455e74
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x1fc]
mov dword [esp + 0x210], 0xf
mov dword [esp + 0x20c], ebx
mov byte [esp + 0x1fc], bl
call fcn.00401900
mov eax, dword [esp + 0x54]
mov ecx, esi
push ecx
lea ecx, [esp + 0x4d8]
call fcn.004175d0
add esp, 4
push ebx
lea edx, [esp + 0xcc]
mov esi, eax
push edx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x1c4]
mov dword [esp + 0x1d8], 0xf
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
call fcn.00401900
mov eax, esi
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x3a4]
call fcn.004175d0
mov ecx, eax
mov eax, dword [esp + 0x64]
lea ebx, [esp + 0x3dc]
call fcn.00417640
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x370]
call fcn.004175d0
add esp, 8
xor ebx, ebx
push ebx
lea ecx, [esp + 0xcc]
mov esi, eax
push ecx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x74]
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
call fcn.00401900
mov eax, dword [esp + 0x68]
mov edx, esi
push edx
lea ecx, [esp + 0x3f8]
call fcn.004175d0
add esp, 4
mov esi, eax
push ebx
lea eax, [ebp + 0x40]
push eax
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x100]
mov dword [esp + 0x114], 0xf
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
call fcn.00401900
mov eax, dword [esp + 0x3c]
mov ecx, esi
push ecx
lea ecx, [esp + 0x270]
call fcn.004175d0
add esp, 4
push ebx
lea edx, [esp + 0xcc]
mov esi, eax
push edx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x170]
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
call fcn.00401900
mov eax, esi
push eax
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x318]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x3c4]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x2e8]
call fcn.004175d0
add esp, 0xc
push ebx
lea ecx, [esp + 0xcc]
mov esi, eax
push ecx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x1a8]
mov dword [esp + 0x1bc], 0xf
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
call fcn.00401900
mov eax, dword [esp + 0x4c]
mov edx, esi
push edx
lea ecx, [esp + 0x388]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x2ac]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x41c]
call fcn.004175d0
add esp, 0xc
mov esi, eax
push ebx
lea eax, [esp + 0xcc]
push eax
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x18c]
mov dword [esp + 0x1a0], 0xf
mov dword [esp + 0x19c], ebx
mov byte [esp + 0x18c], bl
call fcn.00401900
mov eax, dword [esp + 0x28]
mov ecx, esi
push ecx
lea ecx, [esp + 0x2fc]
call fcn.004175d0
add esp, 4
push ebx
lea edx, [esp + 0x21c]
mov esi, eax
push edx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x154]
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
call fcn.00401900
mov eax, esi
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x2c4]
call fcn.004175d0
add esp, 4
push ebx
lea ecx, [esp + 0xcc]
mov esi, eax
push ecx
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x11c]
mov dword [esp + 0x130], 0xf
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x11c], bl
call fcn.00401900
mov eax, dword [esp + 0x38]
mov edx, esi
push edx
lea ecx, [esp + 0x28c]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x354]
call fcn.004175d0
push eax
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x33c]
call fcn.004175d0
add esp, 0xc
mov esi, eax
push ebx
lea eax, [esp + 0xcc]
push eax
or eax, 0xffffffff
call fcn.00414380
mov edi, eax
lea esi, [esp + 0x1e0]
mov dword [esp + 0x1f4], 0xf
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
call fcn.00401900
mov eax, dword [esp + 0x14]
mov ecx, esi
push ecx
lea ecx, [esp + 0x44c]
call fcn.004175d0
mov edi, 0x10
add esp, 4
cmp dword [esp + 0x1f4], edi
jb 0x40b85d
mov edx, dword [esp + 0x1e0]
push edx
call fcn.0041d1cc
add esp, 4
mov esi, 0xf
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f0], ebx
mov byte [esp + 0x1e0], bl
cmp dword [esp + 0x344], edi
jb 0x40b890
mov eax, dword [esp + 0x330]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x344], esi
mov dword [esp + 0x340], ebx
mov byte [esp + 0x330], bl
cmp dword [esp + 0x360], edi
jb 0x40b8be
mov ecx, dword [esp + 0x34c]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x360], esi
mov dword [esp + 0x35c], ebx
mov byte [esp + 0x34c], bl
cmp dword [esp + 0x29c], edi
jb 0x40b8ec
mov edx, dword [esp + 0x288]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x29c], esi
mov dword [esp + 0x298], ebx
mov byte [esp + 0x288], bl
cmp dword [esp + 0x130], edi
jb 0x40b91a
mov eax, dword [esp + 0x11c]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x11c], bl
cmp dword [esp + 0x2d4], edi
jb 0x40b948
mov ecx, dword [esp + 0x2c0]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x2d0], ebx
mov byte [esp + 0x2c0], bl
cmp dword [esp + 0x168], edi
jb 0x40b976
mov edx, dword [esp + 0x154]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
cmp dword [esp + 0x30c], edi
jb 0x40b9a4
mov eax, dword [esp + 0x2f8]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x30c], esi
mov dword [esp + 0x308], ebx
mov byte [esp + 0x2f8], bl
cmp dword [esp + 0x1a0], edi
jb 0x40b9d2
mov ecx, dword [esp + 0x18c]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x19c], ebx
mov byte [esp + 0x18c], bl
cmp dword [esp + 0x424], edi
jb 0x40ba00
mov edx, dword [esp + 0x410]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x424], esi
mov dword [esp + 0x420], ebx
mov byte [esp + 0x410], bl
cmp dword [esp + 0x2b8], edi
jb 0x40ba2e
mov eax, dword [esp + 0x2a4]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x2b8], esi
mov dword [esp + 0x2b4], ebx
mov byte [esp + 0x2a4], bl
cmp dword [esp + 0x398], edi
jb 0x40ba5c
mov ecx, dword [esp + 0x384]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x398], esi
mov dword [esp + 0x394], ebx
mov byte [esp + 0x384], bl
cmp dword [esp + 0x1bc], edi
jb 0x40ba8a
mov edx, dword [esp + 0x1a8]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
cmp dword [esp + 0x2f0], edi
jb 0x40bab8
mov eax, dword [esp + 0x2dc]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x2f0], esi
mov dword [esp + 0x2ec], ebx
mov byte [esp + 0x2dc], bl
cmp dword [esp + 0x3d0], edi
jb 0x40bae6
mov ecx, dword [esp + 0x3bc]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x3d0], esi
mov dword [esp + 0x3cc], ebx
mov byte [esp + 0x3bc], bl
cmp dword [esp + 0x328], edi
jb 0x40bb14
mov edx, dword [esp + 0x314]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x328], esi
mov dword [esp + 0x324], ebx
mov byte [esp + 0x314], bl
cmp dword [esp + 0x184], edi
jb 0x40bb42
mov eax, dword [esp + 0x170]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], ebx
mov byte [esp + 0x170], bl
cmp dword [esp + 0x280], edi
jb 0x40bb70
mov ecx, dword [esp + 0x26c]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x280], esi
mov dword [esp + 0x27c], ebx
mov byte [esp + 0x26c], bl
cmp dword [esp + 0x114], edi
jb 0x40bb9e
mov edx, dword [esp + 0x100]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
cmp dword [esp + 0x408], edi
jb 0x40bbcc
mov eax, dword [esp + 0x3f4]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x408], esi
mov dword [esp + 0x404], ebx
mov byte [esp + 0x3f4], bl
cmp dword [esp + 0x88], edi
jb 0x40bbf7
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp dword [esp + 0x37c], edi
jb 0x40bc22
mov edx, dword [esp + 0x368]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x37c], esi
mov dword [esp + 0x378], ebx
mov byte [esp + 0x368], bl
cmp dword [esp + 0x3ec], edi
jb 0x40bc50
mov eax, dword [esp + 0x3d8]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0x3ec], esi
mov dword [esp + 0x3e8], ebx
mov byte [esp + 0x3d8], bl
cmp dword [esp + 0x3b4], edi
jb 0x40bc7e
mov ecx, dword [esp + 0x3a0]
push ecx
call fcn.0041d1cc
add esp, 4
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x3b4], esi
mov dword [esp + 0x3b0], ebx
mov byte [esp + 0x3a0], bl
call fcn.00401880
lea ecx, [esp + 0x4d4]
call fcn.00401880
lea ecx, [esp + 0x1fc]
call fcn.00401880
lea ecx, [esp + 0x4f0]
call fcn.00401880
lea ecx, [esp + 0x138]
call fcn.00401880
lea ecx, [esp + 0x49c]
call fcn.00401880
lea ecx, [esp + 0xe4]
call fcn.00401880
lea ecx, [esp + 0x4b8]
call fcn.00401880
lea ecx, [esp + 0x464]
call fcn.00401880
lea ecx, [esp + 0xac]
call fcn.00401880
lea ecx, [esp + 0x480]
call fcn.00401880
lea ecx, [esp + 0x42c]
call fcn.00401880
lea ecx, [esp + 0x234]
call fcn.00401880
mov edx, dword [esp + 0x458]
mov dword [esp + 0x14], edx
cmp dword [esp + 0xdc], edi
jb 0x40bd50
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
jmp 0x40bd5b
lea ecx, [esp + 0xc8]
mov dword [esp + 0x10], ecx
cmp dword [0x456048], edi
jb 0x40bd6f
mov edx, dword [0x456034]
mov dword [esp + 0xc], edx
jmp 0x40bd77
mov dword [esp + 0xc], 0x456034
mov esi, dword [0x456018]
cmp dword [0x45602c], edi
jae 0x40bd8a
mov esi, 0x456018
push str.POST
mov ebx, 0x455ffc
lea eax, [esp + 0x430]
call fcn.004176a0
push eax
mov eax, str.insert_index__HTTP_1.1_r_nHost:__s_r_nCookie:__s_r_nContent_Type:_multipart_form_data__boundary_s_r_nContent_Length:__d_r_nConnection:_close_r_n_r_n
lea ecx, [esp + 0x23c]
call fcn.004175d0
add esp, 8
cmp dword [eax + 0x14], edi
jb 0x40bdbc
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push ecx
push esi
push eax
lea edx, [esp + 0x534]
push edx
call fcn.0041d551
add esp, 0x18
lea ecx, [esp + 0x234]
call fcn.00401880
lea ecx, [esp + 0x42c]
call fcn.00401880
lea eax, [esp + 0x520]
push eax
lea ecx, [esp + 0x238]
call fcn.00401820
mov ecx, eax
lea eax, [esp + 0x448]
lea ebx, [esp + 0x250]
call fcn.00417610
lea ecx, [esp + 0x234]
call fcn.00401880
mov eax, dword [esp + 0x250]
cmp dword [esp + 0x264], edi
jae 0x40be3c
mov eax, ebx
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x18]
xor ebx, ebx
push ebx
push ecx
push eax
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x40bed3
mov esi, dword [esp + 0x1c]
push str.Error_HTTP_Send
mov ecx, esi
call fcn.00401820
lea ecx, [esp + 0x250]
call fcn.00401880
lea ecx, [esp + 0x448]
call fcn.00401880
lea ecx, [esp + 0xc8]
call fcn.00401880
lea ecx, [esp + 0x218]
call fcn.00401880
lea ecx, [esp + 0x90]
call fcn.00401880
lea ecx, [ebp + 8]
call fcn.00401880
lea ecx, [ebp + 0x24]
call fcn.00401880
lea ecx, [ebp + 0x40]
call fcn.00401880
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d18]
xor ecx, esp
call fcn.0041c2f8
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x18]
push ebx
push 0x2800
lea eax, [esp + 0x528]
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, ebx
jge 0x40c02c
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, 0x32
jl 0x40bef0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x14
push ebx
lea ecx, [esp + 0x220]
push ecx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
call fcn.00401e30
push str.Sent_Successfully__r_nLink:
lea ebx, [ebp + 8]
lea eax, [esp + 0x430]
call fcn.004176a0
push eax
mov eax, str._file_download_key_
lea ecx, [esp + 0x23c]
call fcn.004175d0
mov ebx, dword [esp + 0x24]
mov ecx, eax
add esp, 8
lea eax, [esp + 0xac]
call fcn.00417640
lea ecx, [esp + 0x234]
call fcn.00401880
lea ecx, [esp + 0x42c]
call fcn.00401880
lea ecx, [esp + 0xac]
call fcn.00401880
lea ecx, [esp + 0xe4]
call fcn.00401880
lea ecx, [esp + 0x250]
call fcn.00401880
lea ecx, [esp + 0x448]
call fcn.00401880
lea ecx, [esp + 0xc8]
call fcn.00401880
lea ecx, [esp + 0x218]
call fcn.00401880
lea ecx, [esp + 0x90]
call fcn.00401880
lea ecx, [ebp + 8]
call fcn.00401880
lea ecx, [ebp + 0x24]
call fcn.00401880
lea ecx, [ebp + 0x40]
call fcn.00401880
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d18]
xor ecx, esp
call fcn.0041c2f8
mov esp, ebp
pop ebp
ret
je 0x40bf1f
push eax
lea ecx, [esp + 0x524]
push ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.00401bb0
push ebx
lea edx, [esp + 0x78]
push edx
or eax, 0xffffffff
lea esi, [esp + 0xec]
call fcn.00414380
cmp dword [esp + 0x88], edi
jb 0x40bef0
mov eax, dword [esp + 0x74]
push eax
call fcn.0041d1cc
add esp, 4
jmp 0x40bef0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov ecx, esi
mov byte [esi], bl
cmp dword [esp + 0x10], ebx
jne 0x40c137
push 0xf
push str.File_not_found_
call fcn.00401bb0
mov edi, 0x10
cmp dword [esp + 0xa4], edi
jb 0x40c0d0
mov edx, dword [esp + 0x90]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [ebp + 0x1c], edi
jb 0x40c0fa
mov eax, dword [ebp + 8]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x1c], 0xf
mov dword [ebp + 0x18], ebx
mov byte [ebp + 8], bl
cmp dword [ebp + 0x38], edi
jb 0x40c118
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x38], 0xf
mov dword [ebp + 0x34], ebx
mov byte [ebp + 0x24], bl
cmp dword [ebp + 0x54], edi
jb 0x40c266
mov edx, dword [ebp + 0x40]
push edx
jmp 0x40c25e
push 0x1b
push str.File_was_larger_than_20_MB_
call fcn.00401bb0
mov edi, 0x10
cmp dword [esp + 0xa4], edi
jb 0x40c161
mov eax, dword [esp + 0x90]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [ebp + 0x1c], edi
jb 0x40c18b
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x1c], 0xf
mov dword [ebp + 0x18], ebx
mov byte [ebp + 8], bl
cmp dword [ebp + 0x38], edi
jb 0x40c1a9
mov edx, dword [ebp + 0x24]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x38], 0xf
mov dword [ebp + 0x34], ebx
mov byte [ebp + 0x24], bl
cmp dword [ebp + 0x54], edi
jb 0x40c266
mov eax, dword [ebp + 0x40]
push eax
jmp 0x40c25e
push 0xf
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
push str.File_Not_Found_
mov ecx, esi
mov byte [esi], bl
call fcn.00401bb0
mov edi, 0x10
cmp dword [esp + 0xa4], edi
jb 0x40c200
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0041d1cc
add esp, 4
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [ebp + 0x1c], edi
jb 0x40c22a
mov edx, dword [ebp + 8]
push edx
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x1c], 0xf
mov dword [ebp + 0x18], ebx
mov byte [ebp + 8], bl
cmp dword [ebp + 0x38], edi
jb 0x40c248
mov eax, dword [ebp + 0x24]
push eax
call fcn.0041d1cc
add esp, 4
mov dword [ebp + 0x38], 0xf
mov dword [ebp + 0x34], ebx
mov byte [ebp + 0x24], bl
cmp dword [ebp + 0x54], edi
jb 0x40c266
mov ecx, dword [ebp + 0x40]
push ecx
call fcn.0041d1cc
add esp, 4
mov ecx, dword [esp + 0x2d24]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.0041c2f8
mov esp, ebp
pop ebp
ret