Function at 0x47ad50
Capabilities:
Connect to http server
Create http request
Parse url
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
mov eax, dword [0x4d5630]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp + 0x18]
push 0x3c
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x4ac]
push 0
push eax
mov dword [ebp - 0x464], 0
call fcn.00488e30
add esp, 0xc
mov dword [ebp - 0x4ac], 0x3c
cmp dword [0x4d52a8], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x4a8], eax
lea ecx, [ebp - 0x4ac]
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x4a4], 0x10
mov dword [ebp - 0x49c], eax
lea eax, [ebp - 0x22c]
push ecx
mov dword [ebp - 0x480], eax
mov eax, 0x4d5294
cmovae eax, dword [0x4d5294]
push 0
push dword [0x4d52a4]
mov dword [ebp - 0x498], 0x100
push eax
mov dword [ebp - 0x47c], 0x100
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x47ae36
mov eax, 2
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486d53
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x451], 0
lea eax, [ebp - 0x2c]
mov ecx, str.https
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47ae6b
test dx, dx
je 0x47ae67
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47ae6b
add eax, 4
add ecx, 4
test dx, dx
jne 0x47ae45
xor eax, eax
jmp 0x47ae70
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47ae7d
mov byte [ebp - 0x451], 1
jmp 0x47aeb8
mov ecx, str.http
lea eax, [ebp - 0x2c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47aeab
test dx, dx
je 0x47aea7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47aeab
add eax, 4
add ecx, 4
test dx, dx
jne 0x47ae85
xor eax, eax
jmp 0x47aeb0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47ae23
push ebx
push 0x4d52ac
lea eax, [ebp - 0x444]
push 0x4b9b58
push eax
call fcn.00433b5c
add esp, 0xc
lea eax, [ebp - 0x444]
cmp dword [ebp - 0x430], 8
cmovae eax, dword [ebp - 0x444]
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
test ebx, ebx
je 0x47b2f6
push esi
mov dword [ebp - 0x448], ebx
call fcn.00440520
push 0
push 0
push 3
push 0
push 0
push dword [ebp - 0x494]
lea eax, [ebp - 0x42c]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
test esi, esi
je 0x47b2be
push edi
mov dword [ebp - 0x450], esi
call fcn.00440520
cmp byte [ebp - 0x451], 0
mov eax, 0xa80000
push 0
mov ecx, 0x280000
cmovne ecx, eax
lea eax, [ebp - 0x22c]
push ecx
push 0
push 0
push 0
push eax
push 0x4cdc68
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
je 0x47b2a3
mov dword [ebp - 0x44c], edi
call fcn.00440520
cmp dword [ebp - 0x460], 0
jle 0x47afaf
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp - 0x460]
push 4
push eax
push 2
push edi
call esi
push 4
lea eax, [ebp - 0x460]
push eax
push 5
push edi
call esi
mov eax, dword [ebp - 0x458]
cmp dword [eax + 0x10], 0
je 0x47afd2
push eax
push 0x4b9bac
push edi
call fcn.0047ac70
add esp, 0xc
test al, al
je 0x47b1e5
mov eax, dword [ebp - 0x470]
cmp dword [eax + 0x10], 0
je 0x47aff5
push eax
push str.X_Origin
push edi
call fcn.0047ac70
add esp, 0xc
test al, al
je 0x47b1e5
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x47b1e5
mov ebx, dword [sym.imp.WININET.dll_HttpQueryInfoW]
lea eax, [ebp - 0x464]
push 0
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x464], 8
push eax
push 0x13
push edi
call ebx
test eax, eax
je 0x47b1e5
xor eax, eax
mov ecx, 0x4b9cb4
mov word [ebp - 6], ax
lea eax, [ebp - 0xc]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b06a
test dx, dx
je 0x47b066
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b06a
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b044
xor eax, eax
jmp 0x47b06f
sbb eax, eax
or eax, 1
test eax, eax
je 0x47b0f0
mov ecx, 0x4b9cbc
lea eax, [ebp - 0xc]
jmp 0x47b080
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b0a6
test dx, dx
je 0x47b0a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b0a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b080
xor esi, esi
jmp 0x47b0ab
sbb esi, esi
or esi, 1
lea ecx, [ebp - 0x44c]
call fcn.0047ac50
lea ecx, [ebp - 0x450]
call fcn.0047ac50
lea ecx, [ebp - 0x448]
call fcn.0047ac50
lea ecx, [ebp - 0x444]
call fcn.004040f3
xor eax, eax
test esi, esi
pop edi
setne al
pop esi
inc eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486d53
mov esp, ebp
pop ebp
ret
push 0x12
mov dword [ebp - 0x45c], 0x12
call fcn.00483600
mov esi, eax
add esp, 4
mov dword [ebp - 0x458], esi
test esi, esi
je 0x47b1e5
mov ecx, str.Location
mov edx, esi
sub edx, ecx
lea ecx, [ecx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x47b120
push 0
lea eax, [ebp - 0x45c]
push eax
push esi
push 0xffff
push edi
call ebx
test eax, eax
jne 0x47b1c8
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x7a
jne 0x47b1dc
mov eax, dword [ebp - 0x45c]
test eax, eax
je 0x47b1dc
shr eax, 1
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00483600
add esp, 4
lea ecx, [ebp - 0x458]
push eax
call fcn.00426bd9
mov esi, dword [ebp - 0x458]
test esi, esi
je 0x47b1e5
mov ecx, str.Location
mov edx, esi
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x47b1a2
push 0
lea eax, [ebp - 0x45c]
push eax
push esi
push 0xffff
push edi
call ebx
test eax, eax
je 0x47b1dc
push str._id
push esi
call fcn.004879ad
mov edi, eax
add esp, 8
test edi, edi
jne 0x47b227
push esi
call fcn.004835e0
add esp, 4
lea ecx, [ebp - 0x44c]
call fcn.0047ac50
lea ecx, [ebp - 0x450]
call fcn.0047ac50
lea ecx, [ebp - 0x448]
call fcn.0047ac50
lea ecx, [ebp - 0x444]
call fcn.004040f3
pop edi
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486d53
mov esp, ebp
pop ebp
ret
add edi, 8
push 0x4b9ba8
push edi
call fcn.004879ad
add esp, 8
mov ebx, eax
push esi
test ebx, ebx
je 0x47b1dd
mov ecx, dword [ebp - 0x46c]
call fcn.004040fd
mov ecx, dword [ebp - 0x468]
sub ebx, edi
sar ebx, 1
push ebx
push edi
call fcn.004046e6
push esi
call fcn.004835e0
add esp, 4
lea ecx, [ebp - 0x44c]
call fcn.0047ac50
lea ecx, [ebp - 0x450]
call fcn.0047ac50
lea ecx, [ebp - 0x448]
call fcn.0047ac50
lea ecx, [ebp - 0x444]
call fcn.004040f3
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486d53
mov esp, ebp
pop ebp
ret
call fcn.00440520
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
call fcn.00440520
push ebx
call esi
jmp 0x47b206
call fcn.00440520
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x430], 8
jb 0x47b2e1
push dword [ebp - 0x444]
call fcn.004835e0
add esp, 4
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00486d53
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x430], 8
jb 0x47b30d
push dword [ebp - 0x444]
call fcn.004835e0
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 2
xor ecx, ebp
pop ebx
call fcn.00486d53
mov esp, ebp
pop ebp
ret