Function at 0x46e590
Capabilities:
Initialize winhttp library
Make an http request with a cookie
Prepare http request
Read http header
Receive http response
Resolve function by parsing pe exports
Send data
Send http request
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8f38
mov eax, dword fs:[0]
push eax
sub esp, 0x560
mov eax, dword [0x503040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x538], esi
cmp dword [esi + 0x3c], 0
mov eax, dword [ebp + 8]
ja 0x46e5df
mov dword [esi + 0x120], 3
xor al, al
jmp 0x46f688
xor ecx, ecx
mov dword [ebp - 0x45c], 7
push 0xffffffffffffffff
push ecx
mov word [ebp - 0x470], cx
lea ecx, [ebp - 0x470]
push eax
mov dword [ebp - 0x460], 0
call fcn.0043cad0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x470]
cmp dword [ebp - 0x45c], 8
mov edi, dword [sym.imp.MSVCR120.dll__wcsicmp]
cmovae eax, dword [ebp - 0x470]
push 0x4ddff8
push eax
call edi
add esp, 8
test eax, eax
jne 0x46e64f
push 3
push 0x4ddff8
lea ecx, [ebp - 0x470]
call fcn.0043cbf0
jmp 0x46e686
cmp dword [ebp - 0x45c], 8
lea eax, [ebp - 0x470]
push str.POST
cmovae eax, dword [ebp - 0x470]
push eax
call edi
add esp, 8
test eax, eax
jne 0x46f657
push str.POST
lea ecx, [ebp - 0x470]
call fcn.0043ccf0
lea ecx, [esi + 0x1a4]
lea eax, [ebp - 0x470]
cmp ecx, eax
je 0x46e6a0
push 0xffffffffffffffff
push 0
push eax
call fcn.0043cad0
cmp dword [esi + 0x24], 0
mov dword [esi + 0x1cc], 0
mov byte [ebp - 0x524], 1
jne 0x46e6ef
cmp dword [esi + 0x154], 8
lea eax, [esi + 0x140]
jb 0x46e6c8
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esi + 0x24], eax
test eax, eax
jne 0x46e6ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x120], eax
jmp 0x46f661
push dword [esi + 0x1c8]
push dword [esi + 0x1c4]
push dword [esi + 0x1c0]
push dword [esi + 0x1bc]
push dword [esi + 0x24]
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
lea eax, [ebp - 0x474]
push 4
push eax
push 0x49
push dword [esi + 0x24]
mov dword [ebp - 0x474], 1
call edi
test eax, eax
je 0x46f661
push 4
lea eax, [ebp - 0x474]
push eax
push 0x4a
push dword [esi + 0x24]
call edi
test eax, eax
je 0x46f661
push 0x3c
lea eax, [ebp - 0x518]
push 0
push eax
call sub.MSVCR120.dll_memset
lea eax, [esi + 0x2c]
mov dword [ebp - 0x518], 0x3c
add esp, 0xc
mov dword [ebp - 0x508], 0
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x504], 0xffffffff
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4e8], 0xffffffff
mov dword [ebp - 0x510], 1
jb 0x46e7aa
mov eax, dword [eax]
lea ecx, [ebp - 0x518]
push ecx
push 0
push dword [esi + 0x3c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x46f642
xor eax, eax
mov dword [ebp - 0x478], 7
mov dword [ebp - 0x47c], 0
mov word [ebp - 0x48c], ax
mov byte [ebp - 4], 1
lea edi, [esi + 0x44]
mov edx, dword [ebp - 0x508]
lea ecx, [ebp - 0x52c]
mov eax, dword [ebp - 0x504]
push dword [ebp - 0x52c]
push edi
lea eax, [edx + eax*2]
push eax
call fcn.004718a0
mov edx, dword [ebp - 0x4ec]
lea ecx, [ebp - 0x48c]
mov eax, dword [ebp - 0x4e8]
add esp, 0xc
push dword [ebp - 0x52c]
lea eax, [edx + eax*2]
push ecx
push eax
lea ecx, [ebp - 0x52c]
call fcn.004718a0
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x46e841
mov edi, dword [edi]
push 0
push dword [ebp - 0x500]
push edi
push dword [esi + 0x24]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edi, eax
mov dword [esi + 0x20], edi
test edi, edi
je 0x46f626
xor edx, edx
lea ecx, [ebp - 0x48c]
cmp dword [ebp - 0x50c], 2
mov eax, 0x800000
cmove edx, eax
cmp dword [ebp - 0x478], 8
push edx
cmovae ecx, dword [ebp - 0x48c]
lea eax, [ebp - 0x470]
cmp dword [ebp - 0x45c], 8
push 0
cmovae eax, dword [ebp - 0x470]
push 0
push 0
push ecx
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [esi + 0x1c], eax
test eax, eax
je 0x46f611
cmp byte [esi + 0x28], 0
jne 0x46e8df
cmp dword [ebp - 0x50c], 2
jne 0x46e8df
push 4
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x424], 0x3100
push ecx
push 0x1f
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov byte [ebp - 0x519], 0
mov edi, edi
mov eax, ecx
inc ecx
mov dword [ebp - 0x52c], ecx
cmp eax, 1
jae 0x46f5e2
mov ecx, dword [esi + 0x100]
test ecx, ecx
je 0x46e939
cmp dword [esi + 0x104], 8
lea eax, [esi + 0xf0]
jb 0x46e91d
mov eax, dword [eax]
push 0x1000000
push ecx
push eax
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x46e939
call edi
mov dword [esi + 0x120], eax
cmp dword [esi + 0xe0], 0
jbe 0x46e9b0
push str.Cookie:
lea ecx, [ebp - 0x458]
call fcn.0043cd40
push 0xffffffffffffffff
push 0
lea eax, [esi + 0xd0]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x458]
call fcn.0043c960
cmp dword [ebp - 0x444], 8
lea eax, [ebp - 0x458]
push 0x1000000
push dword [ebp - 0x448]
cmovae eax, dword [ebp - 0x458]
push eax
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x46e9a1
call edi
mov dword [esi + 0x120], eax
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 1
call fcn.0043d000
cmp dword [esi + 0x118], 0
jbe 0x46eabc
xor eax, eax
mov dword [ebp - 0x4bc], 0
push 0x206
push eax
mov word [ebp - 0x218], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x216]
movq qword [ebp - 0x4c4], xmm0
push eax
mov dword [ebp - 0x4c4], 3
call sub.MSVCR120.dll_memset
lea eax, [esi + 0x108]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x46ea08
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0x218]
mov dword [ebp - 0x4c0], eax
lea eax, [ebp - 0x4c4]
push 0xc
push eax
push 0x26
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x46ea4a
call edi
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x16c]
test eax, eax
je 0x46eabc
cmp dword [esi + 0x170], 8
lea ecx, [esi + 0x15c]
jb 0x46ea65
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1002
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x46ea83
call edi
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x184]
test eax, eax
je 0x46eabc
cmp dword [esi + 0x188], 8
lea ecx, [esi + 0x174]
jb 0x46ea9e
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1003
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x46eabc
call edi
mov dword [esi + 0x120], eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi + 0x1c]
mov byte [ebp - 0x530], 0
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x46ed2f
call edi
mov dword [esi + 0x120], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x4ac]
push eax
movdqu xmmword [ebp - 0x4ac], xmm0
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x46f5c2
mov eax, dword [ebp - 0x4a8]
test eax, eax
je 0x46ec10
cmp dword [esi + 0x40], 8
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x4dc], xmm0
mov dword [ebp - 0x4d4], eax
lea eax, [esi + 0x2c]
movq qword [ebp - 0x4cc], xmm0
mov dword [ebp - 0x4dc], 3
mov dword [ebp - 0x4d8], 1
mov dword [ebp - 0x4c8], 1
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4d0], 0
movq qword [ebp - 0x4b8], xmm0
mov dword [ebp - 0x4b0], 0
jb 0x46eb7e
mov eax, dword [eax]
lea ecx, [ebp - 0x4b8]
push ecx
lea ecx, [ebp - 0x4dc]
push ecx
push eax
push dword [esi + 0x24]
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x46ec09
push 0xc
lea eax, [ebp - 0x4b8]
push eax
push 0x26
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x46ebe0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov ecx, dword [ebp - 0x530]
test eax, eax
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x530], ecx
mov eax, dword [ebp - 0x4b4]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x46ebf3
push eax
call edi
mov eax, dword [ebp - 0x4b0]
test eax, eax
je 0x46eceb
push eax
call edi
jmp 0x46eceb
call edi
jmp 0x46ece5
mov edi, dword [ebp - 0x4a4]
test edi, edi
je 0x46ed0b
xor eax, eax
mov dword [ebp - 0x494], 0
push 0x206
push eax
mov word [ebp - 0x218], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x216]
movq qword [ebp - 0x49c], xmm0
push eax
mov dword [ebp - 0x49c], 3
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push edi
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
mov edi, dword [ebp - 0x4a0]
lea eax, [ebp - 0x218]
add esp, 0xc
mov dword [ebp - 0x498], eax
test edi, edi
je 0x46ecc7
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x420]
push edi
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
lea eax, [ebp - 0x420]
add esp, 0xc
mov dword [ebp - 0x494], eax
push 0xc
lea eax, [ebp - 0x49c]
push eax
push 0x26
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x46eceb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x120], eax
mov eax, dword [ebp - 0x4a8]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x46ecfe
push eax
call edi
mov eax, dword [ebp - 0x4a4]
test eax, eax
je 0x46ed0b
push eax
call edi
mov eax, dword [ebp - 0x4a0]
test eax, eax
je 0x46ed1c
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp byte [ebp - 0x530], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x46f5ca
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x46ed66
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x424], 0
push ecx
push dword [esi + 0xec]
push eax
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
jne 0x46ed66
call edi
mov dword [esi + 0x120], eax
push 0
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x46f5c2
push 0
lea eax, [ebp - 0x490]
mov dword [ebp - 0x490], 0
push eax
push 0
push 0
push 0x16
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x46edaa
call edi
cmp eax, 0x7a
jne 0x46f109
mov eax, dword [ebp - 0x490]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a437c
mov edi, eax
add esp, 4
mov dword [ebp - 0x534], edi
test edi, edi
je 0x46f103
mov ecx, dword [ebp - 0x490]
add ecx, ecx
push ecx
push 0
push edi
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x490]
push 0
push eax
push edi
push 0
push 0x16
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x46f0f9
lea ecx, [esi + 0x60]
push edi
call fcn.0043ccf0
xorps xmm0, xmm0
mov dword [ebp - 0x42c], 0
movq qword [ebp - 0x434], xmm0
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0
push 0x4de054
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 3
call fcn.0043cd40
mov byte [ebp - 4], 4
cmp byte [esi + 0x158], 0
jne 0x46eecd
push str.charset_A_Za_z0_9___
lea ecx, [ebp - 0x458]
call fcn.0043ccf0
push ecx
lea eax, [ebp - 0x434]
push eax
lea eax, [esi + 0x60]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46eecd
mov ecx, dword [ebp - 0x430]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x434]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46eecd
lea ecx, [esi + 0x90]
cmp ecx, edi
je 0x46eecd
push 0xffffffffffffffff
push 0
push edi
call fcn.0043cad0
push str.Content_Length:__0_9_
lea ecx, [ebp - 0x458]
call fcn.0043ccf0
push ecx
lea eax, [ebp - 0x434]
push eax
lea eax, [esi + 0x60]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46ef35
mov ecx, dword [ebp - 0x430]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x434]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46ef35
cmp dword [edi + 0x14], 8
jb 0x46ef25
mov edi, dword [edi]
push edi
call dword [sym.imp.MSVCR120.dll__wtoi]
add esp, 4
mov dword [esi + 0xb4], eax
push 0x4e0a54
lea ecx, [ebp - 0x458]
call fcn.0043ccf0
push ecx
lea eax, [ebp - 0x434]
push eax
lea eax, [esi + 0x60]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46ef99
mov ecx, dword [ebp - 0x430]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x434]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46ef99
lea ecx, [esi + 0x18c]
cmp ecx, edi
je 0x46ef99
push 0xffffffffffffffff
push 0
push edi
call fcn.0043cad0
push str.Set_Cookie:_b.__n
lea ecx, [ebp - 0x458]
call fcn.0043ccf0
push ecx
lea eax, [ebp - 0x434]
push eax
lea eax, [esi + 0x60]
push eax
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46f0d9
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x428], eax
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x520], eax
je 0x46f0d9
xor edi, edi
test eax, eax
je 0x46f05c
dec eax
mov dword [ebp - 0x528], eax
lea eax, [esi + 0xb8]
mov esi, dword [ebp - 0x428]
mov dword [ebp - 0x424], eax
lea esp, [esp]
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.0043c960
cmp edi, dword [ebp - 0x528]
je 0x46f044
mov ecx, dword [ebp - 0x424]
push 0x4e0a48
call fcn.0043c7c0
mov eax, dword [ebp - 0x424]
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x520]
jb 0x46f020
mov esi, dword [ebp - 0x538]
push 0x4e0a44
lea ecx, [ebp - 0x550]
call fcn.0043cd40
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 5
lea edi, [esi + 0xb8]
push eax
mov edx, edi
lea ecx, [ebp - 0x568]
call fcn.0046dc90
add esp, 4
mov ecx, edi
push eax
call fcn.0046f8a0
lea ecx, [ebp - 0x568]
call fcn.0043d000
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 4
call fcn.0043d000
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x46f0d9
cmp dword [edi + 0x14], 8
jb 0x46f0c3
mov eax, dword [edi]
jmp 0x46f0c5
mov eax, edi
cmp word [eax + ecx*2 - 2], 0x3b
je 0x46f0d9
push 0x4e0a50
mov ecx, edi
call fcn.0043c7c0
lea ecx, [ebp - 0x458]
call fcn.0043d000
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 1
call fcn.0046f960
mov edi, dword [ebp - 0x534]
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
lea eax, [ebp - 0x490]
mov dword [ebp - 0x490], 0
push eax
push 0
push 0
push 0x13
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x46f136
call edi
cmp eax, 0x7a
jne 0x46f1a0
mov eax, dword [ebp - 0x490]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a437c
mov edi, eax
add esp, 4
test edi, edi
je 0x46f1a0
mov ecx, dword [ebp - 0x490]
add ecx, ecx
push ecx
push 0
push edi
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x490]
push 0
push eax
push edi
push 0
push 0x13
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x46f196
push edi
lea ecx, [esi + 0x128]
call fcn.0043ccf0
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, dword [esi + 0xa8]
xor edi, edi
mov dword [ebp - 0x528], 0x2800
mov dword [ebp - 0x520], edi
test eax, eax
je 0x46f1cc
push eax
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov dword [esi + 0xa8], edi
push 0x2800
call fcn.004a437c
add esp, 4
mov dword [esi + 0xa8], eax
test eax, eax
je 0x46f5de
push 0x2800
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
jmp 0x46f200
lea eax, [ebp - 0x490]
mov dword [ebp - 0x490], 0
push eax
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x46f352
push edi
mov ecx, esi
call fcn.0046f780
mov eax, dword [ebp - 0x490]
inc eax
push eax
call fcn.004a437c
mov edi, eax
add esp, 4
test edi, edi
je 0x46f33d
mov ecx, dword [ebp - 0x490]
inc ecx
push ecx
push 0
push edi
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x428], 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x490]
push edi
push dword [esi + 0x1c]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x46f333
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp - 0x520]
lea eax, [ecx + edx]
cmp eax, dword [ebp - 0x528]
jbe 0x46f30e
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x528]
add eax, eax
push eax
mov dword [ebp - 0x528], eax
call fcn.004a437c
add esp, 4
mov dword [esi + 0xa8], eax
test eax, eax
je 0x46f360
push dword [ebp - 0x528]
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
push dword [ebp - 0x520]
push dword [ebp - 0x424]
push dword [esi + 0xa8]
call sub.MSVCR120.dll_memcpy
add esp, 0xc
push dword [ebp - 0x424]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
mov ecx, dword [ebp - 0x428]
add esp, 4
mov edx, dword [ebp - 0x520]
mov eax, dword [esi + 0xa8]
push ecx
add eax, edx
push edi
push eax
call sub.MSVCR120.dll_memcpy
mov eax, dword [ebp - 0x520]
add esp, 0xc
add eax, dword [ebp - 0x428]
mov dword [ebp - 0x520], eax
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov edi, dword [ebp - 0x520]
cmp dword [ebp - 0x490], 0
ja 0x46f200
jmp 0x46f373
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x120], eax
jmp 0x46f343
mov eax, dword [ebp - 0x424]
mov dword [esi + 0xa8], eax
mov byte [ebp - 0x524], 0
mov edi, dword [ebp - 0x520]
mov ecx, esi
push edi
call fcn.0046f780
mov dword [esi + 0xac], edi
lea eax, [esi + 0x90]
xor edi, edi
mov dword [ebp - 0x428], 1
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x424], edi
jb 0x46f3a7
mov eax, dword [eax]
push 5
push str.utf_8
push eax
call dword [sym.imp.MSVCR120.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x46f3cd
mov edi, 0xfde9
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], edi
mov eax, dword [esi + 0xac]
push 0
push 0
inc eax
push eax
push dword [esi + 0xa8]
push dword [ebp - 0x428]
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jg 0x46f428
mov eax, dword [esi + 0xac]
push 0
push 0
inc eax
mov dword [ebp - 0x424], 0
push eax
push dword [esi + 0xa8]
mov dword [ebp - 0x428], 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jle 0x46f49b
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a437c
add esp, 4
mov dword [ebp - 0x534], eax
test eax, eax
je 0x46f49b
lea ecx, [edi + edi]
push ecx
push 0
push eax
call sub.MSVCR120.dll_memset
mov eax, dword [esi + 0xac]
add esp, 0xc
inc eax
push edi
mov edi, dword [ebp - 0x534]
push edi
push eax
push dword [esi + 0xa8]
push dword [ebp - 0x428]
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x46f491
push edi
lea ecx, [esi + 0x78]
call fcn.0043ccf0
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
add esp, 4
push 3
push ecx
push dword [ebp - 0x460]
mov byte [ebp - 0x519], 1
push ecx
lea ecx, [ebp - 0x470]
call fcn.004716e0
test eax, eax
jne 0x46f5fc
push str._html_
lea ecx, [ebp - 0x458]
call fcn.0043cd40
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
movq qword [ebp - 0x440], xmm0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
push ecx
lea eax, [ebp - 0x440]
mov byte [ebp - 4], 7
push eax
lea edi, [esi + 0x78]
push edi
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46f5a0
mov ecx, dword [ebp - 0x43c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x440]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46f5a0
push str.__html_
lea ecx, [ebp - 0x458]
call fcn.0043ccf0
push ecx
lea eax, [ebp - 0x440]
push eax
push edi
push ecx
lea ecx, [ebp - 0x458]
call fcn.0046d850
add esp, 0x10
test al, al
je 0x46f58f
mov ecx, dword [ebp - 0x43c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x440]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x46f5a0
mov dword [esi + 0x120], 0xd
mov byte [ebp - 0x519], 0
lea ecx, [ebp - 0x440]
call fcn.0046f960
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 1
call fcn.0043d000
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46f5ca
call edi
mov dword [esi + 0x120], eax
cmp byte [ebp - 0x519], 0
jne 0x46f5fc
mov ecx, dword [ebp - 0x52c]
jmp 0x46e8f0
xor al, al
jmp 0x46f5e8
mov eax, dword [ebp - 0x524]
xor ecx, ecx
movzx eax, al
cmp byte [ebp - 0x519], cl
cmove eax, ecx
mov dword [ebp - 0x524], eax
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x46f611
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x46f626
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov dword [esi + 0x20], 0
cmp dword [ebp - 0x478], 8
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x46f66e
push dword [ebp - 0x48c]
call esi
add esp, 4
jmp 0x46f66e
mov byte [ebp - 0x524], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x120], eax
jmp 0x46f668
mov dword [esi + 0x120], 0x57
mov byte [ebp - 0x524], 0
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
cmp dword [ebp - 0x45c], 8
jb 0x46f682
push dword [ebp - 0x470]
call esi
add esp, 4
mov al, byte [ebp - 0x524]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b73db
mov esp, ebp
pop ebp
ret 8