Function at 0x406af0
Capabilities:
Check http status code
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b25db
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1180
call fcn.0047e7f0
mov eax, dword [0x4e4520]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1160], edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x116c], eax
mov dword [ebp - 0x1168], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1164], eax
mov dword [ebp - 0x1174], eax
xor al, al
mov byte [ebp - 0x114d], al
mov byte [ebp - 0x114e], al
xor eax, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x1180], edi
mov dword [ebp - 0x1154], 0
mov dword [ebp - 0x10e0], 7
mov dword [ebp - 0x10e4], 0
mov word [ebp - 0x10f4], ax
mov dword [ebp - 0x104c], 7
mov dword [ebp - 0x1050], eax
mov word [ebp - 0x1060], ax
lea eax, [ebp - 0x1158]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x1060]
mov dword [ebp - 0x1158], 0x50
push eax
lea edx, [ebp - 0x10f4]
call fcn.00407e60
mov esi, dword [ebp - 0x1158]
mov eax, 0x1bb
add esp, 8
cmp si, ax
jne 0x406c34
cmp dword [ebp - 0x104c], 8
jb 0x406bf9
push dword [ebp - 0x1060]
call fcn.0047c598
add esp, 4
xor eax, eax
mov dword [ebp - 0x104c], 7
cmp dword [ebp - 0x10e0], 8
mov dword [ebp - 0x1050], 0
mov word [ebp - 0x1060], ax
jb 0x406c2d
push dword [ebp - 0x10f4]
call fcn.0047c598
add esp, 4
xor al, al
jmp 0x40762a
lea edx, [ebp - 0x10f4]
lea ecx, [ebp - 0x10dc]
call fcn.00407c00
push esi
lea eax, [ebp - 0x10dc]
mov byte [ebp - 4], 3
push eax
mov ecx, edi
call fcn.00405c90
test al, al
jne 0x406c77
push 0x4e17fc
lea eax, [ebp - 0x117c]
mov dword [ebp - 0x117c], 1
push eax
call fcn.0047cd33
cmp dword [ebp - 0x10cc], 0
je 0x406cd2
lea eax, [ebp - 0x10dc]
push eax
lea ecx, [ebp - 0x10c4]
call fcn.0040ccc0
add esp, 4
push eax
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 4
call fcn.0040cf40
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x115c]
push eax
lea ecx, [edi + 0x74]
call fcn.0040cd30
mov byte [ebp - 4], 3
cmp dword [ebp - 0x10ac], 0x10
jb 0x406cd2
push dword [ebp - 0x10c0]
call fcn.0047c598
add esp, 4
lea edx, [ebp - 0x1060]
lea ecx, [ebp - 0x10c0]
call fcn.00407c00
lea ecx, [edi + 0x5c]
mov byte [ebp - 4], 5
cmp ecx, eax
je 0x406cf8
push 0xffffffffffffffff
push 0
push eax
call fcn.00403490
mov byte [ebp - 4], 3
cmp dword [ebp - 0x10ac], 0x10
jb 0x406d13
push dword [ebp - 0x10c0]
call fcn.0047c598
add esp, 4
push ecx
lea eax, [ebp - 0x1078]
push eax
lea ecx, [edi + 0x24]
call fcn.0040b540
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1078]
cmp dword [ebp - 0x1064], 0x10
push 0
push dword [ebp - 0x1068]
cmovae eax, dword [ebp - 0x1078]
push eax
push dword [edi + 8]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x406d6d
push 0x4e17fc
lea eax, [ebp - 0x1184]
mov dword [ebp - 0x1184], 3
push eax
call fcn.0047cd33
xor edi, edi
xor bl, bl
mov dword [ebp - 0x1158], edi
jmp 0x406d80
push 0
push 0x1000
lea eax, [ebp - 0x1018]
push eax
mov eax, dword [ebp - 0x1160]
push dword [eax + 8]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
jne 0x406dbf
push 0x4e17fc
lea eax, [ebp - 0x118c]
mov dword [ebp - 0x118c], 0xa
push eax
call fcn.0047cd33
test esi, esi
je 0x407442
lea eax, [ebp - 0x1018]
push esi
push eax
test bl, bl
jne 0x407591
lea ecx, [ebp - 0x1048]
mov dword [ebp - 0x1034], 0xf
mov dword [ebp - 0x1038], 0
mov byte [ebp - 0x1048], bl
call fcn.00403660
push 4
push 0
push str._r_n_r_n
lea ecx, [ebp - 0x1048]
mov byte [ebp - 4], 7
call fcn.00407880
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x406e36
push 0x4e17fc
lea eax, [ebp - 0x1188]
mov dword [ebp - 0x1188], 0xd
push eax
call fcn.0047cd33
push ebx
lea eax, [ebp - 0x1018]
mov dword [ebp - 0x101c], 0xf
push eax
lea ecx, [ebp - 0x1030]
mov dword [ebp - 0x1020], 0
mov byte [ebp - 0x1030], 0
call fcn.00403660
mov dword [ebp - method.CHttpHeader.virtual_0], vtable.CHttpHeader.0
mov dword [ebp - 0x1148], 0
mov dword [ebp - 0x1130], 0xf
mov dword [ebp - 0x1134], 0
mov byte [ebp - 0x1144], 0
mov dword [ebp - 0x1118], 0xf
mov dword [ebp - 0x111c], 0
mov byte [ebp - 0x112c], 0
mov dword [ebp - 0x1100], 0xf
mov dword [ebp - 0x1104], 0
mov byte [ebp - 0x1114], 0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x10fc], 0
mov dword [ebp - 0x10f8], 0
call fcn.0040cc00
mov dword [ebp - 0x10fc], eax
lea eax, [ebp - 0x1030]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x114c]
call fcn.0040be20
mov edi, dword [ebp - 0x1160]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1148]
mov dword [edi + 4], eax
cmp eax, 0x190
jne 0x406f37
push 0x4e17fc
lea eax, [ebp - 0x1178]
mov dword [ebp - 0x1178], 5
push eax
call fcn.0047cd33
cmp eax, 0x12c
jle 0x4072d8
cmp eax, 0x190
jge 0x4072d8
push 8
push str.Location
lea ecx, [ebp - 0x10a8]
mov dword [ebp - 0x1094], 0xf
mov dword [ebp - 0x1098], 0
mov byte [ebp - 0x10a8], 0
call fcn.00403660
lea eax, [ebp - 0x10a8]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x10c0]
push eax
lea ecx, [ebp - 0x114c]
call fcn.0040b370
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1090]
call fcn.004084e0
cmp dword [ebp - 0x10ac], 0x10
jb 0x406fbf
push dword [ebp - 0x10c0]
call fcn.0047c598
add esp, 4
mov dword [ebp - 0x10ac], 0xf
mov dword [ebp - 0x10b0], 0
mov byte [ebp - 0x10c0], 0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x1094], 0x10
jb 0x406ff5
push dword [ebp - 0x10a8]
call fcn.0047c598
add esp, 4
push 7
push 0
push 0x4d36ac
lea ecx, [ebp - 0x1090]
mov dword [ebp - 0x1094], 0xf
mov dword [ebp - 0x1098], 0
mov byte [ebp - 0x10a8], 0
call fcn.00404bf0
test eax, eax
je 0x40713c
push 8
push 0
push 0x4d36bc
lea ecx, [ebp - 0x1090]
call fcn.00404bf0
test eax, eax
je 0x40713c
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x1090]
push eax
lea ecx, [ebp - 0x1060]
call fcn.00402bb0
cmp dword [ebp - 0x107c], 8
jb 0x407075
push dword [ebp - 0x1090]
call fcn.0047c598
add esp, 4
xor eax, eax
mov dword [ebp - 0x107c], 7
lea ecx, [ebp - 0x114c]
mov dword [ebp - 0x1080], 0
mov word [ebp - 0x1090], ax
call fcn.0040b2d0
cmp dword [ebp - 0x101c], 0x10
jb 0x4070b4
push dword [ebp - 0x1030]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x1034], 0x10
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x1020], 0
mov byte [ebp - 0x1030], 0
jb 0x4070e6
push dword [ebp - 0x1048]
call fcn.0047c598
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1064], 0x10
mov dword [ebp - 0x1034], 0xf
mov dword [ebp - 0x1038], 0
mov byte [ebp - 0x1048], 0
jb 0x40711c
push dword [ebp - 0x1078]
call fcn.0047c598
add esp, 4
mov dword [ebp - 0x1064], 0xf
mov dword [ebp - 0x1068], 0
mov byte [ebp - 0x1078], 0
jmp 0x406cd2
mov eax, dword [edi + 8]
cmp eax, 0xffffffff
je 0x407152
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [edi + 8], 0xffffffff
push dword [ebp - 0x1164]
cmp dword [ebp - 0x107c], 8
lea edx, [ebp - 0x1090]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x116c]
cmovae edx, dword [ebp - 0x1090]
push ecx
mov eax, dword [eax + 8]
mov ecx, edi
push edx
call eax
cmp dword [ebp - 0x107c], 8
mov bl, al
jb 0x407196
push dword [ebp - 0x1090]
call fcn.0047c598
add esp, 4
xor eax, eax
mov dword [ebp - 0x107c], 7
lea ecx, [ebp - 0x114c]
mov dword [ebp - 0x1080], 0
mov word [ebp - 0x1090], ax
call fcn.0040b2d0
cmp dword [ebp - 0x101c], 0x10
jb 0x4071d5
push dword [ebp - 0x1030]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x1034], 0x10
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x1020], 0
mov byte [ebp - 0x1030], 0
jb 0x407207
push dword [ebp - 0x1048]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x1064], 0x10
mov dword [ebp - 0x1034], 0xf
mov dword [ebp - 0x1038], 0
mov byte [ebp - 0x1048], 0
jb 0x407239
push dword [ebp - 0x1078]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x10c8], 0x10
mov dword [ebp - 0x1064], 0xf
mov dword [ebp - 0x1068], 0
mov byte [ebp - 0x1078], 0
jb 0x40726b
push dword [ebp - 0x10dc]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x104c], 8
mov dword [ebp - 0x10c8], 0xf
mov dword [ebp - 0x10cc], 0
mov byte [ebp - 0x10dc], 0
jb 0x40729d
push dword [ebp - 0x1060]
call fcn.0047c598
add esp, 4
xor eax, eax
mov dword [ebp - 0x104c], 7
cmp dword [ebp - 0x10e0], 8
mov dword [ebp - 0x1050], 0
mov word [ebp - 0x1060], ax
jb 0x4072d1
push dword [ebp - 0x10f4]
call fcn.0047c598
add esp, 4
mov al, bl
jmp 0x40762a
push 0xe
push str.Content_Length
lea ecx, [ebp - 0x10a8]
mov dword [ebp - 0x1094], 0xf
mov dword [ebp - 0x1098], 0
mov byte [ebp - 0x10a8], 0
call fcn.00403660
lea eax, [ebp - 0x10a8]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x10c0]
push eax
lea ecx, [ebp - 0x114c]
call fcn.0040b370
cmp dword [eax + 0x14], 0x10
jb 0x40732a
mov eax, dword [eax]
push eax
call fcn.0047f1ef
add esp, 4
mov edi, eax
cmp dword [ebp - 0x10ac], 0x10
jb 0x40734c
push dword [ebp - 0x10c0]
call fcn.0047c598
add esp, 4
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x1094], 0x10
mov dword [ebp - 0x10ac], 0xf
mov dword [ebp - 0x10b0], 0
mov byte [ebp - 0x10c0], 0
jb 0x407382
push dword [ebp - 0x10a8]
call fcn.0047c598
add esp, 4
mov eax, dword [ebp - 0x1164]
mov dword [eax], edi
lea eax, [edi - 1]
cmp eax, 0x7fffff
ja 0x407576
push edi
call fcn.0047e8e8
sub esi, ebx
add esp, 4
sub esi, 4
mov ecx, eax
mov dword [ebp - 0x1154], ecx
test esi, esi
jle 0x4073d8
lea eax, [ebp - 0x1014]
add eax, ebx
mov ebx, dword [ebp - 0x1158]
push esi
push eax
lea eax, [ebx + ecx]
push eax
call fcn.0047d190
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x1158], ebx
jmp 0x4073de
mov ebx, dword [ebp - 0x1158]
lea ecx, [ebp - 0x114c]
cmp edi, ebx
jne 0x407502
mov bh, 1
mov byte [ebp - 0x114d], bh
call fcn.0040b2d0
cmp dword [ebp - 0x101c], 0x10
jb 0x407410
push dword [ebp - 0x1030]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x1034], 0x10
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x1020], 0
mov byte [ebp - 0x1030], 0
jb 0x407442
push dword [ebp - 0x1048]
call fcn.0047c598
add esp, 4
mov bh, byte [ebp - 0x114d]
cmp dword [ebp - 0x1064], 0x10
jb 0x40745f
push dword [ebp - 0x1078]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x10c8], 0x10
mov dword [ebp - 0x1064], 0xf
mov dword [ebp - 0x1068], 0
mov byte [ebp - 0x1078], 0
jb 0x407491
push dword [ebp - 0x10dc]
call fcn.0047c598
add esp, 4
cmp dword [ebp - 0x104c], 8
mov dword [ebp - 0x10c8], 0xf
mov dword [ebp - 0x10cc], 0
mov byte [ebp - 0x10dc], 0
jb 0x4074c3
push dword [ebp - 0x1060]
call fcn.0047c598
add esp, 4
xor eax, eax
mov dword [ebp - 0x104c], 7
cmp dword [ebp - 0x10e0], 8
mov dword [ebp - 0x1050], 0
mov word [ebp - 0x1060], ax
jb 0x4074f7
push dword [ebp - 0x10f4]
call fcn.0047c598
add esp, 4
mov ecx, dword [ebp - 0x116c]
jmp 0x40761c
mov bl, 1
call fcn.0040b2d0
cmp dword [ebp - 0x101c], 0x10
jb 0x407520
push dword [ebp - 0x1030]
call fcn.0047c598
add esp, 4
mov byte [ebp - 4], 6
cmp dword [ebp - 0x1034], 0x10
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x1020], 0
mov byte [ebp - 0x1030], 0
jb 0x407556
push dword [ebp - 0x1048]
call fcn.0047c598
add esp, 4
mov dword [ebp - 0x1034], 0xf
mov dword [ebp - 0x1038], 0
mov byte [ebp - 0x1048], 0
jmp 0x406d80
push 0x4e17fc
lea eax, [ebp - 0x1170]
mov dword [ebp - 0x1170], 0xc
push eax
call fcn.0047cd33
mov eax, dword [ebp - 0x1158]
add eax, dword [ebp - 0x1154]
push eax
call fcn.0047d190
mov eax, dword [ebp - 0x1158]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x1158], eax
cmp eax, edi
jl 0x406d80
mov bh, 1
jmp 0x407448
test bh, bh
je 0x407628
mov eax, dword [ebp - 0x1154]
mov dword [ecx], eax
mov al, bh
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047cd24
mov esp, ebp
pop ebp
ret 0xc