Function at 0x4a6098
Capabilities:
Create http request

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x4a60a1
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x4a6acb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x34], 0x80004005
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
xor ecx, ecx
push ebp
push 0x4a6a63
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
call fcn.00406f50
mov byte [ebp - 0x35], 0
mov edx, dword [ebp - 4]
mov eax, 0x4a6aec
call fcn.00407cc4
test eax, eax
jle 0x4a614d
xor eax, eax
push ebp
push 0x4a6143
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 4]
mov ecx, 0
call fcn.00407404
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x10]
mov dl, 1
call fcn.0047b08c
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x10]
call fcn.0041b3d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a614d
cmp byte [0x4b5ac4], 0
jne 0x4a6163
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6a6d
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6afc
call fcn.00407cc4
dec eax
je 0x4a61b7
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b10
call fcn.00407cc4
dec eax
je 0x4a61b7
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b24
call fcn.00407cc4
dec eax
je 0x4a61b7
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b3c
call fcn.00407cc4
dec eax
jne 0x4a61fb
mov byte [ebp - 0x35], 1
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4a61c7
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b58
call fcn.00407cc4
mov edx, eax
inc edx
mov ecx, ebx
mov eax, dword [ebp - 0x10]
call fcn.00407b18
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0041b710
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x10]
call fcn.00406f50
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x10]
call fcn.0041b3d4
mov edx, dword [ebp - 0x64]
mov eax, 0x4a6b68
call fcn.00407cc4
test eax, eax
jne 0x4a6249
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b78
call fcn.00407cc4
dec eax
jne 0x4a6239
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4a6b8c
call fcn.004079a8
jmp 0x4a6249
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4a6ba4
call fcn.004079a8
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x10]
call fcn.0041b3d4
mov edx, dword [ebp - 0x68]
mov eax, 0x4a6bc0
call fcn.00407cc4
dec eax
je 0x4a62c4
cmp byte [ebp + 0xc], 0
je 0x4a62c4
lea eax, [ebp - 0x74]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b68
call fcn.00407cc4
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00407b18
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.0041b3d4
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
mov edx, 0x4a6bd8
call fcn.004079a8
mov edx, dword [ebp - 0x6c]
mov eax, 0x80000000
call fcn.0045a0bc
test al, al
je 0x4a62c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6a6d
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.004a6dd8
test al, al
jne 0x4a62e5
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 4]
call fcn.00406f50
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x14]
call fcn.0041b610
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x14]
call fcn.00406f50
mov bl, 1
cmp dword [ebp - 0x14], 0
je 0x4a6354
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4a630f
sub eax, 4
mov eax, dword [eax]
mov edx, eax
test edx, edx
jle 0x4a6354
mov esi, 1
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + esi*2 - 2]
cmp ax, 0x61
jb 0x4a632e
cmp ax, 0x7a
jbe 0x4a6350
cmp ax, 0x30
jb 0x4a633a
cmp ax, 0x39
jbe 0x4a6350
cmp ax, 0x2e
je 0x4a6350
cmp ax, 0x2d
je 0x4a6350
cmp ax, 0x5f
je 0x4a6350
xor ebx, ebx
jmp 0x4a6354
inc esi
dec edx
jne 0x4a631a
test bl, bl
je 0x4a6400
xor esi, esi
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00406f50
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6c0c
call fcn.00407cc4
dec eax
jne 0x4a637d
mov al, 1
jmp 0x4a63ac
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x4a6389
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x7c]
push eax
mov ecx, 1
mov edx, edi
mov eax, dword [ebp - 0x10]
call fcn.00407b18
mov eax, dword [ebp - 0x7c]
mov edx, 0x4a6c0c
call fcn.00407ae0
sete al
test al, al
je 0x4a63b4
xor ebx, ebx
jmp 0x4a6400
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
jmp 0x4a63ec
inc esi
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x4a63ce
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x10]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6c0c
call fcn.00407cc4
mov edx, eax
inc edx
mov ecx, edi
mov eax, dword [ebp - 0x10]
call fcn.00407b18
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6c0c
call fcn.00407cc4
test eax, eax
jg 0x4a63c1
mov dword [ebp - 0x3c], esi
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 4]
call fcn.0041b3d4
mov edx, dword [ebp - 0x80]
mov eax, 0x4a6c1c
call fcn.00407cc4
dec eax
jne 0x4a6495
test bl, bl
je 0x4a6495
cmp dword [ebp - 0x3c], 1
jne 0x4a6495
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0041b3d4
mov esi, dword [ebp - 4]
test esi, esi
je 0x4a643c
sub esi, 4
mov esi, dword [esi]
push 0x4a6c34
lea eax, [ebp - 0x88]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4a6c0c
call fcn.00407cc4
mov edx, eax
inc edx
mov ecx, esi
mov eax, dword [ebp - 0x24]
call fcn.00407b18
push dword [ebp - 0x88]
push 0x4a6c34
lea eax, [ebp - 0x84]
mov edx, 3
call fcn.00407a30
mov eax, dword [ebp - 0x84]
mov edx, 0x4a6c44
call fcn.00407cc4
test eax, eax
jne 0x4a6495
mov byte [ebp - 0x35], 1
xor ecx, ecx
push ebp
push 0x4a6a4f
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov edx, dword [ebp - 4]
mov eax, 0x4a6afc
call fcn.00407cc4
dec eax
je 0x4a64e3
mov edx, dword [ebp - 4]
mov eax, 0x4a6b10
call fcn.00407cc4
dec eax
je 0x4a64e3
mov edx, dword [ebp - 4]
mov eax, 0x4a6b24
call fcn.00407cc4
dec eax
je 0x4a64e3
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b3c
call fcn.00407cc4
dec eax
jne 0x4a652f
mov esi, dword [ebp - 4]
test esi, esi
je 0x4a64ef
sub esi, 4
mov esi, dword [esi]
lea eax, [ebp - 0x90]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4a6b58
call fcn.00407cc4
mov edx, eax
inc edx
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00407b18
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.0041b710
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 4]
call fcn.00406f50
cmp byte [ebp - 0x35], 0
jne 0x4a653c
mov eax, ebx
xor al, 1
mov byte [ebp - 0x35], al
test bl, bl
je 0x4a654c
cmp dword [ebp - 0x3c], 0
jle 0x4a654c
cmp byte [ebp - 0x35], 0
je 0x4a6557
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00406f50
mov byte [ebp - 0x36], 0
cmp byte [ebp - 0x35], 0
jne 0x4a679d
test bl, bl
je 0x4a65f0
cmp dword [ebp - 0x3c], 1
jl 0x4a65f0
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x10]
call fcn.0041b3d4
mov edx, dword [ebp - 0x94]
mov eax, 0x4a6c98
call fcn.00407cc4
dec eax
jle 0x4a65ac
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00406f50
jmp 0x4a65de
mov edx, dword [ebp - 4]
mov eax, 0x4a6b78
call fcn.00407cc4
dec eax
jne 0x4a65ce
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, 0x4a6b8c
call fcn.004079a8
jmp 0x4a65de
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, 0x4a6ba4
call fcn.004079a8
call fcn.00406294
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6a6d
cmp byte [ebp - 0x36], 0
jne 0x4a679d
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
lea eax, [ebp - 0xc]
call fcn.00406b28
mov byte [ebp - 0x36], 1
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x10]
call fcn.0041b3d4
mov edx, dword [ebp - 0x98]
mov eax, 0x4a6ba4
call fcn.00407cc4
dec eax
je 0x4a6664
mov edx, dword [ebp - 0x10]
mov eax, 0x4a6b78
call fcn.00407cc4
dec eax
jne 0x4a6654
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4a6b8c
call fcn.004079a8
jmp 0x4a6664
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4a6ba4
call fcn.004079a8
cmp byte [ebp + 0xc], 0
je 0x4a668c
test bl, bl
je 0x4a6683
cmp dword [ebp - 0x3c], 0
jle 0x4a6683
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00406f50
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x29], 0
jmp 0x4a679d
push 0
push 0
push 0
push 0
push 0x4a6ca0
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4a679d
xor eax, eax
push ebp
push 0x4a6796
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x420f200
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.0040774c
push eax
mov eax, dword [ebp - 0x4c]
push eax
call sub.wininet.dll_InternetOpenUrlW
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x4a6740
call sub.kernel32.dll_GetLastError_2
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x2ee7
je 0x4a677f
push 0x4a6cbc
lea eax, [ebp - 0xa0]
call fcn.0045bffc
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x9c]
call fcn.00422f2c
push dword [ebp - 0x9c]
push dword [0x4b5ac0]
push 0x4a6cd8
push dword [ebp - 0x10]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00407a30
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x36], 0
jmp 0x4a677f
xor eax, eax
push ebp
push 0x4a6778
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00406f50
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x36], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a677f
mov eax, dword [ebp - 0x50]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a679d
mov eax, dword [ebp - 0x4c]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a6a59
movzx eax, byte [ebp - 0x36]
or al, byte [ebp - 0x35]
je 0x4a6904
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 4]
call fcn.0041b710
cmp dword [ebp - 0xa4], 0
je 0x4a6904
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 4]
call fcn.0041b3d4
mov edx, dword [ebp - 0xa8]
mov eax, 0x4a6ba4
call fcn.00407cc4
dec eax
jne 0x4a6830
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4a67ff
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 4]
call fcn.0041b3d4
mov edx, dword [ebp - 0xac]
mov eax, 0x4a6ba4
call fcn.00407cc4
mov edx, eax
add edx, 7
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.00407b18
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x4a683e
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x4a688d
mov eax, edx
test eax, eax
je 0x4a684d
sub eax, 4
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x4a685c
mov al, 1
jmp 0x4a6873
mov eax, edx
test eax, eax
je 0x4a6867
sub eax, 4
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
cmp word [ecx + eax*2 - 2], 0x2f
sete al
test al, al
je 0x4a688d
mov eax, edx
test eax, eax
je 0x4a6882
sub eax, 4
mov eax, dword [eax]
mov edx, eax
dec edx
lea eax, [ebp - 4]
call fcn.004078d0
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
call fcn.0040a518
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
call fcn.0047af14
mov edx, dword [ebp - 0xb0]
lea eax, [ebp - 4]
call fcn.00406f50
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
call fcn.0047d050
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 8]
call fcn.00406f50
movzx eax, byte [0x4a6cf8]
push eax
lea eax, [ebp - 8]
push eax
mov eax, dword [0x4b5d20]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
mov edx, 0x4a6d08
call fcn.00423304
mov eax, dword [ebp - 0x30]
mov byte [eax], 1
jmp 0x4a6a2a
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 8]
call fcn.0041b3d4
mov edx, dword [ebp - 0xbc]
mov eax, 0x4a6b68
call fcn.00407cc4
test eax, eax
jne 0x4a6958
mov edx, dword [ebp - 8]
mov eax, 0x4a6b78
call fcn.00407cc4
dec eax
jne 0x4a6948
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x4a6b8c
call fcn.004079a8
jmp 0x4a6958
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x4a6ba4
call fcn.004079a8
cmp byte [ebp - 0x29], 0
je 0x4a6a2a
cmp byte [ebp + 0xc], 0
jne 0x4a6a2a
push 0
push 0
push 0
push 0
push 0x4a6ca0
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4a6a2a
xor eax, eax
push ebp
push 0x4a6a23
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x420f200
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.0040774c
push eax
mov eax, dword [ebp - 0x4c]
push eax
call sub.wininet.dll_InternetOpenUrlW
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x4a6a03
push 0x4a6cbc
lea eax, [ebp - 0xc4]
call fcn.0045bffc
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
call fcn.00422f2c
push dword [ebp - 0xc0]
push dword [0x4b5ac0]
push 0x4a6cd8
push dword [ebp - 8]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00407a30
jmp 0x4a6a0c
mov eax, dword [ebp - 0x50]
push eax
call sub.wininet.dll_InternetCloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a6a2a
mov eax, dword [ebp - 0x4c]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
lea ecx, [ebp - 0xc8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
call fcn.0047d050
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x28]
call fcn.00406f08
xor eax, eax
mov dword [ebp - 0x34], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a6ad2
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.00406b88
lea eax, [ebp - 0xb4]
call fcn.00406b4c
lea eax, [ebp - 0xb0]
mov edx, 0x16
call fcn.00406b88
lea eax, [ebp - 0x58]
call fcn.00406b4c
lea eax, [ebp - 0x24]
call fcn.00406b28
lea eax, [ebp - 0x20]
call fcn.00409f6c
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.00406b88
ret