Function at 0x45a014
Capabilities:
Parse url
Send data
Send http request

Disassembly:
mov eax, 0x6101e0
call fcn.00609528
mov eax, 0x1790
call fcn.0052ce20
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x40], esi
push edi
mov edi, edx
mov dword [ebp - 0x14], edi
test esi, esi
je 0x45a11f
cmp byte [esi], 0
je 0x45a11f
push 0x3c
xor ebx, ebx
lea eax, [ebp - 0x7c]
push ebx
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00544d60
add esp, 0xc
mov dword [ebp - 0x7c], 0x3c
lea eax, [ebp - 0x139c]
mov ecx, 0x400
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x179c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
push ebx
push ebx
push esi
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x4c], ecx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
je 0x45a11f
movzx eax, word [ebp - 0x64]
push 0x38
mov dword [ebp - 0x38], eax
call fcn.0052bdf0
mov esi, eax
pop ecx
mov dword [ebp - 0x18], esi
lea ecx, [esi + 0xc]
mov dword [ebp - 4], ebx
call fcn.00464079
lea ecx, [esi + 0x10]
mov byte [ebp - 4], 1
call fcn.00464079
lea ecx, [esi + 0x14]
mov byte [ebp - 4], 2
call fcn.00464079
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 3
call fcn.00464079
or dword [ebp - 4], 0xffffffff
mov ecx, edi
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x1c], ebx
mov word [esi + 0x20], bx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], edi
mov eax, dword [edi]
call dword [eax + 0x44]
mov edx, dword [edi]
mov ecx, edi
mov bl, al
call dword [edx + 0x48]
mov dl, bl
mov ecx, eax
call fcn.00459f54
mov dword [esi], eax
test eax, eax
jne 0x45a132
push ecx
mov ecx, esi
call fcn.00459f25
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x38]
lea edx, [ebp - 0x139c]
mov ecx, esi
call fcn.00459fa4
mov dword [esi + 4], eax
pop ecx
test eax, eax
je 0x45a117
mov ebx, dword [ebp - 0x18]
xor esi, esi
cmp dword [ebp - 0x70], 4
mov eax, 0x800000
push 4
cmove esi, eax
mov dword [ebp - 0x3c], 1
lea eax, [ebp - 0x3c]
push eax
push 0x4d
push dword [ebx + 4]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov dword [ebx + 0x1c], 1
mov ecx, edi
mov eax, dword [edi]
push ebx
call dword [eax + 0x50]
movzx eax, al
mov ecx, edi
neg eax
sbb eax, eax
and eax, 0x80000
or eax, esi
xor esi, esi
or eax, 0x84000200
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x179c]
push eax
mov eax, dword [edi]
call dword [eax + 0x40]
push eax
push dword [ebx + 4]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebx + 8], eax
test eax, eax
jne 0x45a1da
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x45a1cf
push ecx
mov ecx, ebx
jmp 0x45a11a
push 0xffffffffffffffff
push dword [ebx + 0x10]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x400
lea eax, [ebp - 0x87c]
push esi
push eax
call fcn.00544d60
mov eax, dword [edi]
add esp, 0xc
mov ecx, edi
call dword [eax + 0x38]
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x45a29a
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x3c]
test eax, eax
jne 0x45a229
push str.Content_Type:_text_html_n_n
lea eax, [ebp - 0x47c]
push 0x400
push eax
call fcn.00467575
add esp, 0xc
jmp 0x45a24a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
push eax
push str.Content_Type:__s_n_n
lea eax, [ebp - 0x47c]
push 0x400
push eax
call fcn.00467575
add esp, 0x10
push 0x400
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
call fcn.004672d5
pop ecx
mov ecx, esi
call fcn.00467469
push eax
push str.Content_Length:__d_n
mov dword [ebp - 0x1c], eax
mov esi, 0x400
lea eax, [ebp - 0x47c]
push esi
push eax
call fcn.00467575
push esi
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
call fcn.004672d5
add esp, 0x14
jmp 0x45a29f
mov esi, 0x400
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
test eax, eax
je 0x45a2d2
push eax
push str.If_Modified_Since:__s_n
lea eax, [ebp - 0x47c]
push esi
push eax
call fcn.00467575
push esi
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
call fcn.004672d5
add esp, 0x14
mov eax, dword [edi]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x34]
mov eax, ecx
mov edx, dword [ebp - 0x30]
and eax, edx
cmp eax, 0xffffffff
jne 0x45a2f7
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x45a33b
cmp edx, dword [ebp - 0x28]
jl 0x45a30b
jg 0x45a1c7
cmp ecx, dword [ebp - 0x2c]
ja 0x45a1c7
push dword [ebp - 0x28]
lea eax, [ebp - 0x47c]
push dword [ebp - 0x2c]
push edx
push ecx
push str.Range:_bytes_lld__lld_n
push esi
push eax
call fcn.00467575
add esp, 0x1c
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
push esi
call fcn.004672d5
pop ecx
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call dword [eax + 0x4c]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x45a401
cmp byte [eax], 0
je 0x45a401
cmp dword [ebp - 0x20], 0
je 0x45a401
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf9c]
call fcn.00467617
mov edi, eax
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xd3c]
push dword [ebp - 0x24]
call fcn.00467617
mov esi, eax
push dword [ebp - 0x40]
lea ecx, [ebp - 0xadc]
mov byte [ebp - 4], 5
call fcn.00467617
push dword [edi + 4]
push dword [esi + 4]
push dword [eax + 4]
call dword [sym.imp.WININET.dll_InternetSetCookieW]
lea eax, [ebp - 0xad4]
cmp dword [ebp - 0xad8], eax
je 0x45a3c6
push dword [ebp - 0xad8]
call fcn.0052c08b
pop ecx
lea eax, [ebp - 0xd34]
cmp dword [ebp - 0xd38], eax
je 0x45a3e0
push dword [ebp - 0xd38]
call fcn.0052c08b
pop ecx
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xf94]
cmp dword [ebp - 0xf98], eax
je 0x45a3fe
push dword [ebp - 0xf98]
call fcn.0052c08b
pop ecx
mov edi, dword [ebp - 0x14]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
test eax, eax
je 0x45a43e
cmp byte [eax], 0
je 0x45a43e
push eax
push str.Authorization:__s_n
mov esi, 0x400
lea eax, [ebp - 0x47c]
push esi
push eax
call fcn.00467575
push esi
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
call fcn.004672d5
add esp, 0x14
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
test eax, eax
je 0x45a4bb
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov ecx, edi
mov esi, dword [eax]
mov eax, dword [edi]
mov esi, dword [esi]
mov dword [ebp - 0x14], esi
call dword [eax + 0x28]
jmp 0x45a4b7
lea eax, [esi + 0x28]
cmp dword [eax + 0x14], 0x10
jb 0x45a46b
mov eax, dword [eax]
add esi, 0x10
cmp dword [esi + 0x14], 0x10
jb 0x45a476
mov esi, dword [esi]
push eax
push esi
push str._s:__s_n
mov esi, 0x400
lea eax, [ebp - 0x47c]
push esi
push eax
call fcn.00467575
add esp, 0x14
lea edx, [ebp - 0x47c]
lea ecx, [ebp - 0x87c]
push esi
call fcn.004672d5
pop ecx
lea ecx, [ebp - 0x14]
call fcn.00403175
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov esi, dword [ebp - 0x14]
cmp esi, dword [eax]
jne 0x45a460
push dword [ebp - 0x1c]
lea eax, [ebp - 0x87c]
push dword [ebp - 0x18]
push 0xffffffffffffffff
push eax
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x45a4e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x45a1c7
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x30]
test al, al
je 0x45a4fa
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x34]
mov al, 1
jmp 0x45a121