Function at 0x4a068d
Capabilities:
Connect to http server
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push 0x58c
mov eax, 0x50e54b
call fcn.0049caff
mov dword [ebp - 0x40c], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp + 0x18]
push 0
mov dword [ebp - 0x3fc], eax
call fcn.0040cd08
pop ecx
test al, al
je 0x4a072a
push esi
lea eax, [ebp - 0x84]
push str.Sending_request_to:
push eax
call fcn.00427625
and dword [ebp - 0x404], 0
add esp, 0xc
push 0x10
pop edi
cmp dword [eax + 0x14], edi
jb 0x4a0701
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x404]
push eax
push 0x53ad50
push 0x53ad08
push 0x7a
call fcn.0040c2d4
add esp, 0x14
lea ecx, [ebp - 0x84]
call fcn.0040dd63
jmp 0x4a072d
push 0x10
pop edi
push dword [ebp - 0x3f8]
lea ecx, [ebp - 0x408]
push str.Send_request_headers
call fcn.0049f922
cmp dword [ebp - 0x3f4], 0
je 0x4a07c9
push 0
call fcn.0040cd08
pop ecx
test al, al
je 0x4a07c9
push str.Send_request_verb:
lea ecx, [ebp - 0x9c]
call fcn.0040a69b
push dword [ebp - 0x3f4]
and dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.004275fc
and dword [ebp - 0x404], 0
add esp, 0xc
cmp dword [eax + 0x14], edi
jb 0x4a0790
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x404]
push eax
push 0x53ad50
push 0x53ad08
push 0x9c
call fcn.0040c2d4
add esp, 0x14
lea ecx, [ebp - 0x84]
call fcn.0040dd63
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.0040dd63
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x14], edi
jb 0x4a07d3
mov esi, dword [esi]
mov dword [ebp - 0x410], eax
lea ecx, [ebp - 0x170]
lea eax, [ebp - 0x414]
mov dword [ebp - 0x414], esi
push eax
call fcn.0049ac91
and dword [ebp - 0x174], 0
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x410], ecx
lea ecx, [ebp - 0x54]
push eax
mov byte [ebp - 4], 2
call fcn.004902ad
mov dword [ebp - 0x438], eax
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 3
jb 0x4a0841
mov eax, dword [eax]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x410], ecx
lea ecx, [ebp - 0x9c]
push eax
call fcn.004902ad
mov dword [ebp - 0x404], eax
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 4
jb 0x4a0883
mov eax, dword [eax]
mov dword [ebp - 0x404], eax
movzx eax, word [ebp - 0x158]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x410], ecx
lea ecx, [ebp - 0x84]
push eax
call fcn.004902ad
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 5
jb 0x4a08c6
mov eax, dword [eax]
push 0
push 0
push 3
push dword [ebp - 0x438]
push dword [ebp - 0x404]
push dword [ebp - 0x42c]
push eax
mov eax, dword [ebp - 0x40c]
push dword [eax + 4]
call dword [sym.imp.WININET.dll_InternetConnectW]
push dword [sym.imp.WININET.dll_InternetCloseHandle]
and dword [ebp - 0x414], 0
lea ecx, [ebp - 0x414]
and dword [ebp - 0x410], 0
push eax
call fcn.0049fc1f
lea ecx, [ebp - 0x84]
call fcn.0040dd89
lea ecx, [ebp - 0x9c]
call fcn.0040dd89
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 9
call fcn.0040dd89
cmp dword [ebp - 0x414], 0
je 0x4a1524
jmp 0x4a09be
push esi
lea ecx, [ebp - 0x500]
call fcn.0041f4b3
push dword [ebp - 0x13c]
lea eax, [ebp - 0x500]
mov byte [ebp - 4], 0xc
push dword [ebp - 0x140]
push eax
call fcn.0049f90c
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push eax
call fcn.0049f90c
add esp, 0x18
lea eax, [ebp - 0xdc]
lea ecx, [ebp - 0x4fc]
push eax
call fcn.0042616f
cmp dword [ebp - 0x154], 4
mov eax, 0x84080100
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x440], eax
jne 0x4a0a3c
mov eax, 0x84880100
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x84]
call fcn.0043b6f3
mov dword [ebp - 0x438], eax
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0xe
jb 0x4a0a66
mov eax, dword [eax]
mov dword [ebp - 0x438], eax
push dword [ebp - 0x3f4]
lea ecx, [ebp - 0xc4]
call fcn.00401488
mov ecx, eax
cmp dword [ecx + 0x14], 8
mov byte [ebp - 4], 0xf
jb 0x4a0a85
mov ecx, dword [ecx]
xor eax, eax
push eax
push dword [ebp - 0x404]
push eax
push eax
push eax
push dword [ebp - 0x438]
push ecx
push dword [ebp - 0x414]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
lea ecx, [ebp - 0x198]
push ecx
push eax
lea ecx, [ebp - 0x428]
call fcn.0049f89b
lea ecx, [ebp - 0xc4]
call fcn.0040dd89
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.0040dd89
cmp dword [ebp - 0x428], 0
jne 0x4a0b8a
push 0xde
push 0x53ad08
mov byte [ebp - 4], 0x13
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push 4
lea ecx, [ebp - 0x260]
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x260]
jmp 0x4a1551
and dword [ebp - 0x88], 0
lea eax, [ebp - 0x408]
push eax
call fcn.0049fc82
add esp, 4
test al, al
je 0x4a0bba
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 0x53ae9c
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0xac]
call fcn.004a183f
lea ecx, [ebp - 0xac]
call fcn.004a18aa
push esi
lea ecx, [ebp - 0x598]
call fcn.0041f4b3
push eax
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0x15
call fcn.004a1558
lea ecx, [ebp - 0x598]
mov byte [ebp - 4], 0x12
call fcn.00421a09
mov eax, dword [ebp - 0x3f8]
cmp dword [eax + 4], 0
je 0x4a0c69
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x3f8], eax
jmp 0x4a0c63
lea ecx, [eax + 0x10]
push 0x53ae18
lea eax, [ecx + 0x18]
push eax
push 0x534384
push ecx
lea eax, [ebp - 0x500]
push eax
call fcn.004182e1
pop ecx
pop ecx
push eax
call fcn.00418301
pop ecx
pop ecx
push eax
call fcn.004182e1
pop ecx
pop ecx
push eax
call fcn.00418301
pop ecx
pop ecx
lea ecx, [ebp - 0x3f8]
call fcn.0049b471
mov eax, dword [ebp - 0x3f8]
cmp byte [eax + 0xd], 0
je 0x4a0c1a
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0042616f
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x54]
call fcn.0043b6f3
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x3f8], eax
call fcn.0040dd89
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x12
call fcn.0040dd63
push 4
pop eax
cmp dword [ebp - 0x154], eax
jne 0x4a0d17
and dword [ebp - 0x3f4], 0
mov dword [ebp - 0x42c], eax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x440]
push eax
push 0x1f
push dword [ebp - 0x428]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
je 0x4a0d17
or dword [ebp - 0x3f4], 0x80
lea eax, [ebp - 0x3f4]
push 4
push eax
push 0x1f
push ecx
push ecx
mov ecx, esp
lea eax, [ebp - 0x428]
push eax
and dword [ecx], 0
and dword [ecx + 4], 0
call fcn.0049fc00
call fcn.004a0125
add esp, 0x14
mov eax, dword [ebp - 0x40c]
cmp dword [eax + 0x34], 0
je 0x4a0d33
lea ecx, [eax + 0x10]
lea eax, [ebp - 0x428]
push eax
push esi
call fcn.004a008c
mov eax, dword [ebp - 0x3f8]
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4a0d44
mov eax, dword [eax]
push dword [ebp + 0x1c]
push dword [ebp - 0x3fc]
push ecx
push eax
push dword [ebp - 0x428]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x4a0e01
push 0x11d
push 0x53ad08
mov byte [ebp - 4], 0x17
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push 4
lea ecx, [ebp - 0x1fc]
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x1fc]
jmp 0x4a1551
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 0x1a
call fcn.0043fa0f
pop ecx
mov dword [ebp - 0x420], eax
movaps xmm0, xmmword [0x53aec0]
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x1b
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x404], eax
mov ecx, dword [eax]
mov dword [ebp - 0x3f4], ecx
cmp dword [ebp - 0x58], edi
lea edx, [ebp - 0x434]
push 0
push edx
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
push ecx
push dword [ebp - 0x428]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x4a0f67
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x2f76
je 0x4a1118
cmp eax, 0x7a
jne 0x4a0ecf
mov ecx, dword [ebp - 0x434]
cmp ecx, dword [ebp - 0x5c]
ja 0x4a0eb9
cmp dword [ebp - 0x58], edi
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
cmovae eax, dword [ebp - 0x6c]
mov byte [ecx + eax], 0
jmp 0x4a0ec7
sub ecx, dword [ebp - 0x5c]
push 0
push ecx
lea ecx, [ebp - 0x6c]
call fcn.0040fa1d
mov ecx, dword [ebp - 0x3f4]
jmp 0x4a0e5c
push 0x169
push 0x53ad08
push eax
push 4
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0x23
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x328]
jmp 0x4a1551
mov ecx, dword [ebp - 0x434]
cmp ecx, dword [ebp - 0x5c]
ja 0x4a0f85
cmp dword [ebp - 0x58], edi
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
cmovae eax, dword [ebp - 0x6c]
mov byte [eax + ecx], 0
jmp 0x4a0f93
sub ecx, dword [ebp - 0x5c]
push 0
push ecx
lea ecx, [ebp - 0x6c]
call fcn.0040fa1d
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x6c]
shr ecx, 1
cmp dword [ebp - 0x58], edi
mov dword [ebp - 0x3fc], ecx
cmovae eax, dword [ebp - 0x6c]
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, eax
call fcn.0040fcb8
xor eax, eax
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.0040ce85
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x1e
call fcn.0040dd63
mov eax, dword [ebp - 0x3f4]
sub eax, 1
je 0x4a1078
sub eax, 0x12
je 0x4a1055
sub eax, 1
je 0x4a1032
dec eax
sub eax, 1
jne 0x4a10cc
push str.X_Raw
lea ecx, [ebp - 0x84]
call fcn.0040a69b
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x430]
jmp 0x4a1099
push str.Status_Text
lea ecx, [ebp - 0x84]
call fcn.0040a69b
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x43c]
jmp 0x4a1099
push str.Status_Code
lea ecx, [ebp - 0x84]
call fcn.0040a69b
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x468]
jmp 0x4a1099
push str.Content_Type
lea ecx, [ebp - 0x84]
call fcn.0040a69b
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x420]
call fcn.0049fc85
mov ecx, dword [eax]
lea eax, [ebp - 0x54]
add ecx, 0x28
cmp ecx, eax
je 0x4a10c1
cmp dword [ebp - 0x40], edi
push dword [ebp - 0x44]
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.0040fb98
lea ecx, [ebp - 0x84]
call fcn.0040dd63
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x1b
cmp eax, edi
jb 0x4a1118
mov ecx, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x3f8], ecx
cmp eax, 0x1000
jb 0x4a110f
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.0040cd82
mov eax, dword [ebp - 0x40c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3f8]
push eax
push ecx
call fcn.0049c467
pop ecx
pop ecx
mov eax, dword [ebp - 0x404]
lea ecx, [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x404], eax
cmp eax, ecx
jne 0x4a0e54
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], al
push esi
lea ecx, [ebp - 0x598]
mov byte [ebp - 4], 0x26
call fcn.0041f4b3
push eax
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0x27
call fcn.004a1558
lea ecx, [ebp - 0x598]
mov byte [ebp - 4], 0x26
call fcn.00421a09
xor eax, eax
push eax
push eax
mov dword [ebp - 0x3f4], eax
lea eax, [ebp - 0x3f4]
push eax
push dword [ebp - 0x428]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x4a1236
push 0x17d
push 0x53ad08
mov byte [ebp - 4], 0x28
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push 4
lea ecx, [ebp - 0x38c]
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x38c]
jmp 0x4a1551
cmp dword [ebp - 0x28], edi
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov byte [eax], cl
mov edx, dword [ebp - 0x3f4]
cmp edx, dword [ebp - 0x2c]
ja 0x4a1264
cmp dword [ebp - 0x28], edi
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], edx
cmovae eax, dword [ebp - 0x3c]
mov byte [edx + eax], cl
jmp 0x4a1271
sub edx, dword [ebp - 0x2c]
push ecx
push edx
lea ecx, [ebp - 0x3c]
call fcn.0040fa1d
cmp dword [ebp - 0x28], edi
lea ecx, [ebp - 0x3f4]
push ecx
push dword [ebp - 0x2c]
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
push dword [ebp - 0x428]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x4a1338
push 0x18b
push 0x53ad08
mov byte [ebp - 4], 0x2a
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push 4
lea ecx, [ebp - 0x3f0]
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x3f0]
jmp 0x4a1551
mov ecx, dword [ebp - 0x3f4]
cmp ecx, dword [ebp - 0x2c]
ja 0x4a1356
cmp dword [ebp - 0x28], edi
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
cmovae eax, dword [ebp - 0x3c]
mov byte [ecx + eax], 0
jmp 0x4a1364
sub ecx, dword [ebp - 0x2c]
push 0
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0040fa1d
cmp dword [ebp - 0x2c], 0
jne 0x4a150d
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0042616f
push str.data
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x2c
call fcn.0040a69b
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x460]
lea esi, [ebp - 0x420]
push eax
mov ecx, esi
call fcn.0049fc85
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [eax]
add ecx, 0x28
call fcn.00428f6a
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x2c
call fcn.0040dd63
push esi
push str.Internet_server_response
lea ecx, [ebp - 0x408]
call fcn.0049fa7e
push esi
mov esi, dword [ebp - 0x418]
mov ecx, esi
call fcn.0049ad83
lea ecx, [ebp - 0xf4]
call fcn.0040dd63
mov eax, dword [ebp - 0x28]
cmp eax, edi
jb 0x4a1445
mov ecx, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x3f8], ecx
cmp eax, 0x1000
jb 0x4a143c
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.0040cd82
mov eax, dword [ebp - 0x40c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3f8]
push eax
push ecx
call fcn.0049c467
pop ecx
pop ecx
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x420]
push eax
mov ecx, eax
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.00427a30
mov eax, dword [ebp - 0x58]
cmp eax, edi
jb 0x4a14aa
mov ecx, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x3f8], ecx
cmp eax, 0x1000
jb 0x4a14a1
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.0040cd82
mov eax, dword [ebp - 0x40c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3f8]
push eax
push ecx
call fcn.0049c467
pop ecx
pop ecx
and dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
test ecx, ecx
je 0x4a14c8
call fcn.0040d04b
lea ecx, [ebp - 0xdc]
call fcn.0040dd63
lea ecx, [ebp - 0x500]
call fcn.00421a09
mov ecx, dword [ebp - 0x410]
test ecx, ecx
je 0x4a14ed
call fcn.0040d04b
lea ecx, [ebp - 0x198]
call fcn.004a18aa
lea ecx, [ebp - 0x170]
call fcn.0049b2f0
mov eax, esi
call fcn.0049ca51
ret 0x18
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x500]
push eax
call fcn.004182e1
pop ecx
pop ecx
jmp 0x4a1173
push 0xbb
push 0x53ad08
mov byte [ebp - 4], 0xa
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
push 4
lea ecx, [ebp - 0x2c4]
call fcn.00417547
push 0x5581cc
lea eax, [ebp - 0x2c4]
push eax
call fcn.004a6281
int3