Function at 0x402ef1
Capabilities:
Check http status code
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44fa07
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x115c
call fcn.0042c760
mov eax, dword [0x47f070]
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 dword [ebp - 0x1108], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1130], ebx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x1124], edi
xor eax, eax
push eax
push eax
push 0x39
push str.NGIOStack::CIOSecureT_class_NGIOStack::CIONetwork_::Navigate
push 0x481de0
push dword [0x481dfc]
lea ecx, [ebp - 0x10fc]
call fcn.0040a488
and dword [ebp - 4], 0
push 3
push dword [ebp + 0x10]
lea ecx, [ebp - 0x116c]
call fcn.00410c0b
mov byte [ebp - 4], 1
xor eax, eax
mov dword [ebp - 0x104c], eax
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1048], 7
mov dword [ebp - 0x104c], eax
mov word [ebp - 0x105c], ax
mov byte [ebp - 4], 2
mov eax, dword [ebx]
lea ecx, [ebp - 0x105c]
push ecx
mov ecx, ebx
call dword [eax + 0xdc]
lea esi, [ebp - 0x105c]
cmp dword [ebp - 0x1048], 8
cmovae esi, dword [ebp - 0x105c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
push 1
push 0x4a43000
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push esi
mov eax, dword [ebp - 0x1108]
push dword [eax + 0xfc]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x1114], esi
test esi, esi
jne 0x403024
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpOpenRequest_failed__last_error___d
push 0x5c
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x14
mov ebx, 0x83e8f4ff
jmp 0x403afc
push 0
lea eax, [ebp - 0x116c]
push eax
call fcn.00410dec
pop ecx
pop ecx
test al, al
je 0x40359d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x7c]
mov dword [ebp - 0x111c], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x84]
mov dword [ebp - 0x1134], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x8c]
mov dword [ebp - 0x1128], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x4c]
test eax, eax
je 0x4031dc
push str.Content_Length:
lea ecx, [ebp - 0x1074]
call fcn.00403e25
mov byte [ebp - 4], 3
push 0xa
push 0xb
lea eax, [ebp - 0x102c]
push eax
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x3c]
push eax
call fcn.004317e1
lea eax, [ebp - 0x102c]
push eax
call fcn.004061c6
add esp, 0x14
push eax
lea eax, [ebp - 0x102c]
push eax
lea ecx, [ebp - 0x1074]
call fcn.00403e56
push 0x462fd4
call fcn.004061c6
pop ecx
push eax
push 0x462fd4
lea ecx, [ebp - 0x1074]
call fcn.00403e56
lea eax, [ebp - 0x1074]
cmp dword [ebp - 0x1060], 8
cmovae eax, dword [ebp - 0x1074]
push 0x40000000
push dword [ebp - 0x1064]
push eax
push esi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
push eax
lea ecx, [ebp - 0x1044]
call fcn.00403e25
mov byte [ebp - 4], 4
mov esi, dword [eax + 0x10]
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x1044]
call fcn.00406923
test esi, esi
je 0x4031c9
push str.Content_Type:
lea ecx, [ebp - 0x1044]
call fcn.00403e25
mov byte [ebp - 4], 5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
mov esi, eax
push esi
call fcn.004061c6
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1044]
call fcn.00403e56
mov esi, 0x462fd4
push esi
call fcn.004061c6
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1044]
call fcn.00403e56
lea eax, [ebp - 0x1044]
cmp dword [ebp - 0x1030], 8
cmovae eax, dword [ebp - 0x1044]
push 0x40000000
push dword [ebp - 0x1034]
push eax
push dword [ebp - 0x1114]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov byte [ebp - 4], 3
push 0
push 1
lea ecx, [ebp - 0x1044]
call fcn.00406923
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x1074]
call fcn.00406923
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
push eax
lea ecx, [ebp - 0x1074]
call fcn.00403e25
mov byte [ebp - 4], 6
mov esi, dword [eax + 0x10]
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x1074]
call fcn.00406923
test esi, esi
je 0x4032ca
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
push eax
lea ecx, [ebp - 0x102c]
call fcn.00403e25
mov byte [ebp - 4], 7
lea eax, [ebp - 0x102c]
mov ecx, dword [ebp - 0x1018]
cmp ecx, 8
mov edx, dword [ebp - 0x102c]
cmovae eax, edx
mov esi, dword [ebp - 0x101c]
cmp word [eax + esi*2 - 4], 0xd
jne 0x40326a
lea eax, [ebp - 0x102c]
cmp ecx, 8
cmovae eax, edx
push 0xa
pop edi
cmp word [eax + esi*2 - 2], di
mov edi, dword [ebp - 0x1124]
je 0x403295
mov esi, 0x462fd4
push esi
call fcn.004061c6
pop ecx
push eax
push esi
lea ecx, [ebp - 0x102c]
call fcn.00403e56
mov ecx, dword [ebp - 0x1018]
mov esi, dword [ebp - 0x101c]
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x102c]
cmp ecx, 8
cmovae eax, edx
push 0x40000000
push esi
push eax
mov esi, dword [ebp - 0x1114]
push esi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x102c]
call fcn.00406923
jmp 0x4032d0
mov esi, dword [ebp - 0x1114]
xor eax, eax
mov byte [ebp - 0x1109], al
mov byte [ebp - 0x110f], al
mov byte [ebp - 0x10fd], 1
mov ecx, dword [ebp - 0x1108]
call fcn.00411d6d
push eax
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x3c]
push eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x4c]
push eax
push ecx
mov ecx, esi
call fcn.004110f5
add esp, 0x10
test eax, eax
jne 0x403464
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1104], eax
push eax
push str.HttpSendRequest_failed__last_error___d
push 0xb0
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x14
mov eax, 0x83e8f4ff
mov dword [ebp - 0x1118], eax
mov dword [ebp - 0x112c], eax
mov eax, dword [ebp - 0x1104]
cmp byte [ebp - 0x1109], 0
jne 0x4033f6
cmp eax, 0x2f0d
jne 0x4033f6
mov eax, dword [ebp - 0x1108]
cmp byte [eax + 0x104], 0
jne 0x4033a9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0
push 0x17
push 0x2f0d
push esi
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
test eax, eax
je 0x4033a3
mov byte [ebp - 0x10fd], 0
jmp 0x4033ed
mov eax, dword [ebp - 0x1108]
mov byte [eax + 0x104], 1
mov dword [ebp - 0x1104], 4
lea eax, [ebp - 0x1104]
push eax
lea eax, [ebp - 0x1138]
push eax
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [ebp - 0x1138], 0x100
push 4
lea eax, [ebp - 0x1138]
push eax
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov byte [ebp - 0x1109], 1
jmp 0x40344a
cmp byte [ebp - 0x110f], 0
jne 0x403452
cmp eax, 0x2f19
jne 0x403452
mov dword [ebp - 0x1104], 4
lea eax, [ebp - 0x1104]
push eax
lea eax, [ebp - 0x1120]
push eax
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [ebp - 0x1120], 0x80
push 4
lea eax, [ebp - 0x1120]
push eax
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov byte [ebp - 0x110f], 1
mov al, byte [ebp - 0x10fd]
jmp 0x40345a
xor al, al
mov byte [ebp - 0x10fd], al
test al, al
jne 0x4032e5
jmp 0x403472
xor eax, eax
mov dword [ebp - 0x1118], eax
mov dword [ebp - 0x112c], eax
cmp dword [ebp - 0x111c], 0
je 0x403589
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov edx, eax
lea eax, [edx + 2]
mov dword [ebp - 0x1104], eax
xor eax, eax
mov cx, word [edx]
add edx, 2
cmp cx, ax
jne 0x403493
sub edx, dword [ebp - 0x1104]
sar edx, 1
lea eax, [edx + 1]
mov dword [ebp - 0x1104], eax
mov byte [ebp - 4], 8
push eax
call fcn.0042b97a
mov dword [ebp - 0x1120], eax
push dword [ebp - 0x1104]
push 0
push eax
call fcn.0042d4a0
add esp, 0x10
xor eax, eax
push eax
push eax
mov eax, dword [ebp - 0x1104]
push eax
push dword [ebp - 0x1120]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
push eax
push 0
push 0x4e4
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x40351c
dec eax
mov dword [ebp - 0x1104], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x64]
push eax
push dword [ebp - 0x1104]
push dword [ebp - 0x1120]
call dword [ebp - 0x111c]
push dword [ebp - 0x1120]
call fcn.0042b983
pop ecx
mov dword [ebp - 4], 2
jmp 0x40355c
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x3c]
test eax, eax
je 0x403589
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x64]
push eax
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x3c]
push eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x4c]
push eax
call dword [ebp - 0x111c]
push 0
lea eax, [ebp - 0x116c]
push eax
call fcn.00410dec
pop ecx
pop ecx
test al, al
jne 0x4035a7
mov ebx, 0x83e8f4fd
jmp 0x403af5
xor eax, eax
mov dword [ebp - 0x113c], eax
xor ecx, ecx
mov word [ebp - 0x1110], cx
mov dword [ebp - 0x1108], eax
push eax
lea eax, [ebp - 0x1108]
push eax
lea eax, [ebp - 0x1110]
push eax
push 0x16
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x40367c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x40367c
mov byte [ebp - 4], 0xa
push dword [ebp - 0x1108]
call fcn.0042b97a
mov dword [ebp - 0x111c], eax
push dword [ebp - 0x1108]
push 0
push eax
call fcn.0042d4a0
add esp, 0x10
push 0
lea eax, [ebp - 0x1108]
push eax
push dword [ebp - 0x111c]
push 0x16
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x40363c
mov eax, dword [edi]
push dword [ebp - 0x111c]
mov ecx, edi
call dword [eax + 0x68]
push dword [ebp - 0x111c]
call fcn.0042b983
pop ecx
mov dword [ebp - 4], 2
jmp 0x40367c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
test eax, eax
jle 0x4036ae
cmp dword [ebp - 0x1134], 0
je 0x4036ae
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x6c]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
push eax
call dword [ebp - 0x1134]
cmp dword [ebp - 0x1118], 0
jne 0x403aef
xor eax, eax
mov dword [ebp - 0x1108], eax
push eax
lea eax, [ebp - 0x1108]
push eax
lea eax, [ebp - 0x1110]
push eax
push 0x13
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x403823
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x403823
mov eax, dword [ebp - 0x1108]
shr eax, 1
mov dword [ebp - 0x1104], eax
mov byte [ebp - 4], 0xc
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042b97a
mov dword [ebp - 0x111c], eax
push dword [ebp - 0x1104]
push 0
push eax
call fcn.0042d4a0
add esp, 0x10
push 0
lea eax, [ebp - 0x1108]
push eax
push dword [ebp - 0x111c]
push 0x13
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403785
push dword [ebp - 0x111c]
call fcn.0043166b
mov dword [ebp - 0x113c], eax
push eax
push str.HTTP_Response_code____d
push 0x159
push 0x10
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x18
mov eax, dword [edi]
push dword [ebp - 0x113c]
mov ecx, edi
call dword [eax + 0x60]
push dword [ebp - 0x111c]
call fcn.0042b983
pop ecx
mov dword [ebp - 4], 2
jmp 0x4037c5
cmp dword [ebp - 0x113c], 0x191
jne 0x403823
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x94]
test eax, eax
je 0x403823
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x94]
cmp eax, 5
je 0x403823
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x9c]
test al, al
jne 0x403823
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [edi]
lea ecx, [ebp - 0x116c]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x18]
mov esi, eax
neg esi
sbb esi, esi
and esi, 0x83e8f4ff
jmp 0x403afe
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xe0]
test eax, eax
je 0x403863
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xe0]
cmp eax, 1
jne 0x403863
add edi, 0xec
mov dword [ebp - 0x1104], edi
mov esi, dword [edi]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xe8]
push eax
push 1
mov ecx, edi
call dword [esi]
mov esi, edi
jmp 0x403876
push 0x1000
lea esi, [edi + 0xec]
push 0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
push 0x1000
push 0
lea eax, [ebp - 0x1014]
push eax
call fcn.0042d4a0
add esp, 0xc
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x1084]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1084], 0x28
lea eax, [ebp - 0x1014]
mov dword [ebp - 0x1070], eax
mov dword [ebp - 0x106c], 0xfff
push 0
push 4
lea eax, [ebp - 0x1084]
push eax
push dword [ebp - 0x1114]
call dword [sym.imp.WININET.dll_InternetReadFileExA]
test eax, eax
je 0x403a01
mov eax, dword [ebp - 0x106c]
test eax, eax
je 0x403a30
lea ecx, [ebp - 0x1014]
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x1034], 0x1000
mov dword [ebp - 0x1030], eax
mov eax, dword [esi]
lea ecx, [ebp - 0x1038]
push ecx
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
jne 0x4039de
cmp dword [ebp - 0x1128], eax
je 0x403876
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov edi, eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0xe0]
cmp eax, 1
jne 0x4039af
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x20]
test al, al
je 0x403876
mov ebx, dword [ebp - 0x1128]
mov eax, dword [esi]
lea ecx, [ebp - 0x1020]
push ecx
mov ecx, esi
call dword [eax + 0x14]
push edi
lea eax, [ebp - 0x1020]
push eax
call ebx
test al, al
jne 0x40398b
push str.IOSecureNetwork::Navigate___Error_while_calling_ReadContentCallback
push 0x1c1
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x10
mov eax, dword [esi]
lea ecx, [ebp - 0x1020]
push ecx
mov ecx, esi
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
test al, al
jne 0x403951
mov ebx, dword [ebp - 0x1130]
jmp 0x403876
cmp dword [ebp - 0x1030], 0
jbe 0x403876
push edi
lea eax, [ebp - 0x1038]
push eax
call dword [ebp - 0x1128]
test al, al
jne 0x403876
push str.IOSecureNetwork::Navigate___Error_while_calling_ReadContentCallback
push 0x1cd
jmp 0x4039e8
push str.IOSecureNetwork::Navigate___Error_while_adding_content_to_the_content_buffer.
push 0x1d6
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x10
jmp 0x403876
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetReadFileExA_failed__error___d
push 0x19a
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x14
mov dword [ebp - 0x1118], 0x83e8f4ff
mov edi, dword [ebp - 0x1124]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x50]
test eax, eax
jle 0x403a68
cmp dword [ebp - 0x1134], 0
je 0x403a68
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x6c]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x50]
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
push eax
call dword [ebp - 0x1134]
cmp dword [ebp - 0x1128], 0
je 0x403ae9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov edi, eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0xe0]
cmp eax, 1
jne 0x403ae9
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test eax, eax
je 0x403ae9
mov eax, dword [esi]
lea ecx, [ebp - 0x1020]
push ecx
mov ecx, esi
call dword [eax + 0x14]
push edi
lea eax, [ebp - 0x1020]
push eax
call dword [ebp - 0x1128]
test al, al
jne 0x403ad2
push str.IOSecureNetwork::Navigate___Error_while_calling_ReadContentCallback
push 0x1f9
push 0x80
lea eax, [ebp - 0x10fc]
push eax
call fcn.0040a801
add esp, 0x10
mov eax, dword [esi]
lea ecx, [ebp - 0x1020]
push ecx
mov ecx, esi
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
jmp 0x403a90
mov esi, dword [ebp - 0x1114]
mov ebx, dword [ebp - 0x1118]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, ebx
mov byte [ebp - 4], 1
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x105c]
call fcn.00406923
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x116c]
call fcn.00410e3c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10fc]
call fcn.0040a576
mov eax, esi
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.0042b6bb
mov esp, ebp
pop ebp
ret 0xc