Function at 0x4aecbc
Capabilities:
Create http request

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x4aecc5
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 0x4af6ef
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 0x4af687
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, 0x4af710
call fcn.00407d0c
test eax, eax
jle 0x4aed71
xor eax, eax
push ebp
push 0x4aed67
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.0047b85c
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x10]
call fcn.0041b564
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4aed71
cmp byte [0x4bf3ec], 0
jne 0x4aed87
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af691
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, 0x4af720
call fcn.00407d0c
dec eax
je 0x4aeddb
mov edx, dword [ebp - 0x10]
mov eax, 0x4af734
call fcn.00407d0c
dec eax
je 0x4aeddb
mov edx, dword [ebp - 0x10]
mov eax, 0x4af748
call fcn.00407d0c
dec eax
je 0x4aeddb
mov edx, dword [ebp - 0x10]
mov eax, 0x4af760
call fcn.00407d0c
dec eax
jne 0x4aee1f
mov byte [ebp - 0x35], 1
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4aedeb
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4af77c
call fcn.00407d0c
mov edx, eax
inc edx
mov ecx, ebx
mov eax, dword [ebp - 0x10]
call fcn.00407b60
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0041b8a0
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x10]
call fcn.00406f50
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x10]
call fcn.0041b564
mov edx, dword [ebp - 0x64]
mov eax, 0x4af78c
call fcn.00407d0c
test eax, eax
jne 0x4aee6d
mov edx, dword [ebp - 0x10]
mov eax, 0x4af79c
call fcn.00407d0c
dec eax
jne 0x4aee5d
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4af7b0
call fcn.004079f0
jmp 0x4aee6d
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4af7c8
call fcn.004079f0
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x10]
call fcn.0041b564
mov edx, dword [ebp - 0x68]
mov eax, 0x4af7e4
call fcn.00407d0c
dec eax
je 0x4aeee8
cmp byte [ebp + 0xc], 0
je 0x4aeee8
lea eax, [ebp - 0x74]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4af78c
call fcn.00407d0c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00407b60
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.0041b564
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
mov edx, 0x4af7fc
call fcn.004079f0
mov edx, dword [ebp - 0x6c]
mov eax, 0x80000000
call fcn.0045a3bc
test al, al
je 0x4aeee8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af691
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.004af9fc
test al, al
jne 0x4aef09
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 4]
call fcn.00406f50
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x14]
call fcn.0041b7a0
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x14]
call fcn.00406f50
mov bl, 1
cmp dword [ebp - 0x14], 0
je 0x4aef78
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4aef33
sub eax, 4
mov eax, dword [eax]
mov edx, eax
test edx, edx
jle 0x4aef78
mov esi, 1
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + esi*2 - 2]
cmp ax, 0x61
jb 0x4aef52
cmp ax, 0x7a
jbe 0x4aef74
cmp ax, 0x30
jb 0x4aef5e
cmp ax, 0x39
jbe 0x4aef74
cmp ax, 0x2e
je 0x4aef74
cmp ax, 0x2d
je 0x4aef74
cmp ax, 0x5f
je 0x4aef74
xor ebx, ebx
jmp 0x4aef78
inc esi
dec edx
jne 0x4aef3e
test bl, bl
je 0x4af024
xor esi, esi
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00406f50
mov edx, dword [ebp - 0x10]
mov eax, 0x4af830
call fcn.00407d0c
dec eax
jne 0x4aefa1
mov al, 1
jmp 0x4aefd0
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x4aefad
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.00407b60
mov eax, dword [ebp - 0x7c]
mov edx, 0x4af830
call fcn.00407b28
sete al
test al, al
je 0x4aefd8
xor ebx, ebx
jmp 0x4af024
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
jmp 0x4af010
inc esi
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x4aeff2
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x10]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x4af830
call fcn.00407d0c
mov edx, eax
inc edx
mov ecx, edi
mov eax, dword [ebp - 0x10]
call fcn.00407b60
mov edx, dword [ebp - 0x10]
mov eax, 0x4af830
call fcn.00407d0c
test eax, eax
jg 0x4aefe5
mov dword [ebp - 0x3c], esi
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 4]
call fcn.0041b564
mov edx, dword [ebp - 0x80]
mov eax, 0x4af840
call fcn.00407d0c
dec eax
jne 0x4af0b9
test bl, bl
je 0x4af0b9
cmp dword [ebp - 0x3c], 1
jne 0x4af0b9
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0041b564
mov esi, dword [ebp - 4]
test esi, esi
je 0x4af060
sub esi, 4
mov esi, dword [esi]
push 0x4af858
lea eax, [ebp - 0x88]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4af830
call fcn.00407d0c
mov edx, eax
inc edx
mov ecx, esi
mov eax, dword [ebp - 0x24]
call fcn.00407b60
push dword [ebp - 0x88]
push 0x4af858
lea eax, [ebp - 0x84]
mov edx, 3
call fcn.00407a78
mov eax, dword [ebp - 0x84]
mov edx, 0x4af868
call fcn.00407d0c
test eax, eax
jne 0x4af0b9
mov byte [ebp - 0x35], 1
xor ecx, ecx
push ebp
push 0x4af673
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov edx, dword [ebp - 4]
mov eax, 0x4af720
call fcn.00407d0c
dec eax
je 0x4af107
mov edx, dword [ebp - 4]
mov eax, 0x4af734
call fcn.00407d0c
dec eax
je 0x4af107
mov edx, dword [ebp - 4]
mov eax, 0x4af748
call fcn.00407d0c
dec eax
je 0x4af107
mov edx, dword [ebp - 0x10]
mov eax, 0x4af760
call fcn.00407d0c
dec eax
jne 0x4af153
mov esi, dword [ebp - 4]
test esi, esi
je 0x4af113
sub esi, 4
mov esi, dword [esi]
lea eax, [ebp - 0x90]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x4af77c
call fcn.00407d0c
mov edx, eax
inc edx
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00407b60
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.0041b8a0
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 4]
call fcn.00406f50
cmp byte [ebp - 0x35], 0
jne 0x4af160
mov eax, ebx
xor al, 1
mov byte [ebp - 0x35], al
test bl, bl
je 0x4af170
cmp dword [ebp - 0x3c], 0
jle 0x4af170
cmp byte [ebp - 0x35], 0
je 0x4af17b
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00406f50
mov byte [ebp - 0x36], 0
cmp byte [ebp - 0x35], 0
jne 0x4af3c1
test bl, bl
je 0x4af214
cmp dword [ebp - 0x3c], 1
jl 0x4af214
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406f50
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x10]
call fcn.0041b564
mov edx, dword [ebp - 0x94]
mov eax, 0x4af8bc
call fcn.00407d0c
dec eax
jle 0x4af1d0
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00406f50
jmp 0x4af202
mov edx, dword [ebp - 4]
mov eax, 0x4af79c
call fcn.00407d0c
dec eax
jne 0x4af1f2
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, 0x4af7b0
call fcn.004079f0
jmp 0x4af202
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, 0x4af7c8
call fcn.004079f0
call fcn.00406294
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af691
cmp byte [ebp - 0x36], 0
jne 0x4af3c1
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.0041b564
mov edx, dword [ebp - 0x98]
mov eax, 0x4af7c8
call fcn.00407d0c
dec eax
je 0x4af288
mov edx, dword [ebp - 0x10]
mov eax, 0x4af79c
call fcn.00407d0c
dec eax
jne 0x4af278
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4af7b0
call fcn.004079f0
jmp 0x4af288
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x4af7c8
call fcn.004079f0
cmp byte [ebp + 0xc], 0
je 0x4af2b0
test bl, bl
je 0x4af2a7
cmp dword [ebp - 0x3c], 0
jle 0x4af2a7
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00406f50
mov byte [ebp - 0x36], 0
mov byte [ebp - 0x29], 0
jmp 0x4af3c1
push 0
push 0
push 0
push 0
push 0x4af8c4
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4af3c1
xor eax, eax
push ebp
push 0x4af3ba
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x420f200
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00407794
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 0x4af364
call sub.kernel32.dll_GetLastError_2
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x2ee7
je 0x4af3a3
push 0x4af8e0
lea eax, [ebp - 0xa0]
call fcn.0045c2fc
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x9c]
call fcn.004230bc
push dword [ebp - 0x9c]
push dword [0x4bf3e8]
push 0x4af8fc
push dword [ebp - 0x10]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00407a78
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x36], 0
jmp 0x4af3a3
xor eax, eax
push ebp
push 0x4af39c
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 0x4af3a3
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 0x4af3c1
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 0x4af67d
movzx eax, byte [ebp - 0x36]
or al, byte [ebp - 0x35]
je 0x4af528
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 4]
call fcn.0041b8a0
cmp dword [ebp - 0xa4], 0
je 0x4af528
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 4]
call fcn.0041b564
mov edx, dword [ebp - 0xa8]
mov eax, 0x4af7c8
call fcn.00407d0c
dec eax
jne 0x4af454
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4af423
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 4]
call fcn.0041b564
mov edx, dword [ebp - 0xac]
mov eax, 0x4af7c8
call fcn.00407d0c
mov edx, eax
add edx, 7
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.00407b60
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x4af462
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x4af4b1
mov eax, edx
test eax, eax
je 0x4af471
sub eax, 4
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x4af480
mov al, 1
jmp 0x4af497
mov eax, edx
test eax, eax
je 0x4af48b
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 0x4af4b1
mov eax, edx
test eax, eax
je 0x4af4a6
sub eax, 4
mov eax, dword [eax]
mov edx, eax
dec edx
lea eax, [ebp - 4]
call fcn.00407918
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
call fcn.0040a560
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
call fcn.0047b6e4
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.0047e66c
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 8]
call fcn.00406f50
movzx eax, byte [0x4af91c]
push eax
lea eax, [ebp - 8]
push eax
mov eax, dword [0x4bf650]
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
mov edx, 0x4af92c
call fcn.00423494
mov eax, dword [ebp - 0x30]
mov byte [eax], 1
jmp 0x4af64e
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 8]
call fcn.0041b564
mov edx, dword [ebp - 0xbc]
mov eax, 0x4af78c
call fcn.00407d0c
test eax, eax
jne 0x4af57c
mov edx, dword [ebp - 8]
mov eax, 0x4af79c
call fcn.00407d0c
dec eax
jne 0x4af56c
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x4af7b0
call fcn.004079f0
jmp 0x4af57c
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x4af7c8
call fcn.004079f0
cmp byte [ebp - 0x29], 0
je 0x4af64e
cmp byte [ebp + 0xc], 0
jne 0x4af64e
push 0
push 0
push 0
push 0
push 0x4af8c4
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4af64e
xor eax, eax
push ebp
push 0x4af647
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x420f200
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00407794
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 0x4af627
push 0x4af8e0
lea eax, [ebp - 0xc4]
call fcn.0045c2fc
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
call fcn.004230bc
push dword [ebp - 0xc0]
push dword [0x4bf3e8]
push 0x4af8fc
push dword [ebp - 8]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00407a78
jmp 0x4af630
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 0x4af64e
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.0047e66c
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 0x4af6f6
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.00409fb4
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.00406b88
ret