Function at 0x409480
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Receive http response
Set http header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x428bf7
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x140e8
call fcn.00427c60
mov eax, dword [0x43c014]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x140a8], esi
cmp dword [esi + 0x18], 0
mov eax, dword [ebx + 8]
ja 0x4094e7
mov dword [esi + 0xf8], 3
xor al, al
jmp 0x40a438
xor ecx, ecx
mov dword [ebp - 0x14034], 7
push 0xffffffffffffffff
push ecx
mov word [ebp - 0x14048], cx
lea ecx, [ebp - 0x14048]
push eax
mov dword [ebp - 0x14038], 0
call fcn.00402120
mov dword [ebp - 4], 0
lea eax, [ebp - 0x14048]
cmp dword [ebp - 0x14034], 8
push 0x42fa8c
cmovae eax, dword [ebp - 0x14048]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
lea ecx, [ebp - 0x14048]
test eax, eax
jne 0x409550
push 3
push 0x42fa8c
jmp 0x409557
push 4
push str.POST
call fcn.00402410
cmp dword [esi], 0
mov byte [ebp - 0x14079], 1
jne 0x409592
cmp dword [esi + 0x128], 8
lea eax, [esi + 0x114]
jb 0x409579
mov eax, dword [eax]
push 0
push 0
push 0
push 1
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esi], eax
test eax, eax
je 0x40a407
push dword [esi + 0x184]
push dword [esi + 0x180]
push dword [esi + 0x17c]
push dword [esi + 0x178]
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
push 0x5000
lea eax, [ebp - 0x5018]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x14018]
push 0x5000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x140f4]
push 0x3c
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0x5018]
mov dword [ebp - 0x140f4], 0x3c
mov dword [ebp - 0x140e4], eax
add esp, 0xc
cmp dword [esi + 0x1c], 8
lea eax, [ebp - 0x14018]
mov dword [ebp - 0x140c8], eax
lea eax, [esi + 8]
mov dword [ebp - 0x140e0], 0x2800
mov dword [ebp - 0x140c4], 0x2800
mov dword [ebp - 0x140ec], 1
jb 0x40963c
mov eax, dword [eax]
lea ecx, [ebp - 0x140f4]
push ecx
push 0
push dword [esi + 0x18]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x40a407
cmp word [ebp - 0x5018], 0
jne 0x409665
xor ecx, ecx
jmp 0x40967f
lea ecx, [ebp - 0x5018]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409670
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x5018]
push eax
lea ecx, [esi + 0x20]
call fcn.00402410
push 0
push dword [ebp - 0x140dc]
lea eax, [ebp - 0x5018]
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebp - 0x140ac], eax
test eax, eax
je 0x40a41a
xor ecx, ecx
mov edx, 0x800000
cmp dword [ebp - 0x140e8], 2
cmove ecx, edx
cmp dword [ebp - 0x14034], 8
push ecx
push 0
push 0
push 0
push dword [ebp - 0x140c8]
lea edx, [ebp - 0x14048]
cmovae edx, dword [ebp - 0x14048]
push edx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0x1408c], edi
test edi, edi
je 0x40a3f9
cmp byte [esi + 4], 0
jne 0x409729
cmp dword [ebp - 0x140e8], 2
jne 0x409729
push 4
lea eax, [ebp - 0x14084]
mov dword [ebp - 0x14084], 0x3100
push eax
push 0x1f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov byte [ebp - 0x1408d], 0
xor ecx, ecx
mov eax, ecx
inc ecx
mov dword [ebp - 0x14080], ecx
cmp eax, 3
jae 0x40a3da
cmp dword [esi + 0xd8], 0
jbe 0x409781
cmp dword [esi + 0xdc], 8
lea eax, [esi + 0xc8]
jb 0x40975e
mov eax, dword [eax]
push 0x1000000
push dword [esi + 0xd8]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x409781
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
cmp dword [esi + 0xb8], 0
lea edi, [esi + 0xa8]
jbe 0x409802
push str.Cookie:
lea ecx, [ebp - 0x14030]
call fcn.00402560
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp - 0x14030]
mov byte [ebp - 4], 1
call fcn.0040cc40
cmp dword [ebp - 0x1401c], 8
lea eax, [ebp - 0x14030]
mov edi, dword [ebp - 0x1408c]
cmovae eax, dword [ebp - 0x14030]
push 0x1000000
push dword [ebp - 0x14020]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x4097f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
lea ecx, [ebp - 0x14030]
mov byte [ebp - 4], 0
call fcn.00402620
jmp 0x409808
mov edi, dword [ebp - 0x1408c]
cmp dword [esi + 0xf0], 0
jbe 0x40991c
push 0x5000
xorps xmm0, xmm0
mov dword [ebp - 0x14064], 0
lea eax, [ebp - 0xa018]
movq qword [ebp - 0x1406c], xmm0
push 0
push eax
mov dword [ebp - 0x1406c], 3
call sub.VCRUNTIME140.dll_memset
lea eax, [esi + 0xe0]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x409858
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xa018]
push 0x2800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0xa018]
mov dword [ebp - 0x14068], eax
lea eax, [ebp - 0x1406c]
push 0xc
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40989c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
cmp dword [esi + 0x140], 0
jbe 0x40991c
cmp dword [esi + 0x144], 8
lea ecx, [esi + 0x130]
mov eax, dword [esi + 0x140]
jb 0x4098bc
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1002
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x4098dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
cmp dword [esi + 0x158], 0
jbe 0x40991c
cmp dword [esi + 0x15c], 8
lea ecx, [esi + 0x148]
mov eax, dword [esi + 0x158]
jb 0x4098fc
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1003
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40991c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
push 4
lea eax, [ebp - 0x14084]
mov dword [ebp - 0x14084], 2
push eax
push 0x3f
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x409948
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0xc4]
push 0
push eax
push eax
push dword [esi + 0xc0]
mov byte [ebp - 0x14088], 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x409ba8
lea eax, [ebp - 0x14028]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x14028], xmm0
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x409bb5
mov eax, dword [ebp - 0x14024]
test eax, eax
je 0x409a90
cmp dword [esi + 0x1c], 8
xorps xmm0, xmm0
movups xmmword [ebp - 0x14060], xmm0
mov dword [ebp - 0x14058], eax
lea eax, [esi + 8]
movq qword [ebp - 0x14050], xmm0
mov dword [ebp - 0x14060], 3
mov dword [ebp - 0x1405c], 1
mov dword [ebp - 0x1404c], 1
mov dword [ebp - 0x14050], 0
mov dword [ebp - 0x14054], 0
movq qword [ebp - 0x1409c], xmm0
mov dword [ebp - 0x14094], 0
jb 0x409a06
mov eax, dword [eax]
lea ecx, [ebp - 0x1409c]
push ecx
lea ecx, [ebp - 0x14060]
push ecx
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x409b52
push 0xc
lea eax, [ebp - 0x1409c]
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x409a67
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov ecx, dword [ebp - 0x14088]
test eax, eax
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x14088], ecx
mov eax, dword [ebp - 0x14098]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x409a7a
push eax
call edi
mov eax, dword [ebp - 0x14094]
test eax, eax
je 0x409b5e
push eax
call edi
jmp 0x409b5e
mov edi, dword [ebp - 0x14020]
test edi, edi
je 0x409b7e
push 0x5000
xorps xmm0, xmm0
mov dword [ebp - 0x140b0], 0
lea eax, [ebp - 0xa018]
movq qword [ebp - 0x140b8], xmm0
push 0
push eax
mov dword [ebp - 0x140b8], 3
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0xa018]
push edi
push 0x2800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edi, dword [ebp - 0x1401c]
lea eax, [ebp - 0xa018]
add esp, 0xc
mov dword [ebp - 0x140b4], eax
test edi, edi
je 0x409b37
push 0x5000
lea eax, [ebp - 0xf018]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0xf018]
push edi
push 0x2800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea eax, [ebp - 0xf018]
add esp, 0xc
mov dword [ebp - 0x140b0], eax
push 0xc
lea eax, [ebp - 0x140b8]
push eax
push 0x26
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x409b5e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
mov eax, dword [ebp - 0x14024]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x409b71
push eax
call edi
mov eax, dword [ebp - 0x14020]
test eax, eax
je 0x409b7e
push eax
call edi
mov eax, dword [ebp - 0x1401c]
test eax, eax
je 0x409b8f
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp byte [ebp - 0x14088], 0
mov edi, dword [ebp - 0x1408c]
mov ecx, dword [ebp - 0x14080]
je 0x409732
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x409bcc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x14080]
mov dword [esi + 0xf8], eax
jmp 0x409732
push 0
lea eax, [ebp - 0x14080]
mov dword [ebp - 0x14080], 0
push eax
push 0
push 0
push 0x16
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov edi, dword [sym.imp.mfc140u.dll_operator_1]
test eax, eax
jne 0x409c05
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x409f57
mov eax, dword [ebp - 0x14080]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call edi
mov edi, eax
add esp, 4
mov dword [ebp - 0x140a0], edi
test edi, edi
je 0x409f51
mov ecx, dword [ebp - 0x14080]
add ecx, ecx
push ecx
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x14080]
push 0
push eax
push edi
push 0
push 0x16
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x409f47
push dword [ebp - 0x140a0]
lea edi, [esi + 0x38]
mov ecx, edi
call fcn.00402510
mov dword [ebp - 0x1409c], 0
mov dword [ebp - 0x14098], 0
mov dword [ebp - 0x14094], 0
push 0x42ea94
lea ecx, [ebp - 0x14030]
mov byte [ebp - 4], 2
call fcn.00402560
mov byte [ebp - 4], 3
cmp byte [esi + 0x12c], 0
jne 0x409d18
push str.charset_A_Za_z0_9___
lea ecx, [ebp - 0x14030]
call fcn.00402510
push ecx
lea eax, [ebp - 0x1409c]
push eax
push edi
push ecx
lea ecx, [ebp - 0x14030]
call fcn.00408900
add esp, 0x10
test al, al
je 0x409d18
mov ecx, dword [ebp - 0x14098]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1409c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x409d18
mov eax, dword [ebp - 0x1409c]
lea ecx, [esi + 0x68]
cmp ecx, eax
je 0x409d18
push 0xffffffffffffffff
push 0
push eax
call fcn.00402120
push str.Content_Length:__0_9_
lea ecx, [ebp - 0x14030]
call fcn.00402510
push ecx
lea eax, [ebp - 0x1409c]
push eax
push edi
push ecx
lea ecx, [ebp - 0x14030]
call fcn.00408900
add esp, 0x10
test al, al
je 0x409d80
mov ecx, dword [ebp - 0x14098]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x1409c]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x409d7d
cmp dword [edi + 0x14], 8
jb 0x409d6d
mov edi, dword [edi]
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov dword [esi + 0x8c], eax
lea edi, [esi + 0x38]
push str.Location:__0_9_
lea ecx, [ebp - 0x14030]
call fcn.00402510
push ecx
lea eax, [ebp - 0x1409c]
push eax
push edi
push ecx
lea ecx, [ebp - 0x14030]
call fcn.00408900
add esp, 0x10
test al, al
je 0x409de5
mov ecx, dword [ebp - 0x14098]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x1409c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x409de5
mov eax, dword [ebp - 0x1409c]
lea ecx, [esi + 0x160]
cmp ecx, eax
je 0x409de5
push 0xffffffffffffffff
push 0
push eax
call fcn.00402120
push str.Set_Cookie:_b.__n
lea ecx, [ebp - 0x14030]
call fcn.00402510
push ecx
lea eax, [ebp - 0x1409c]
push eax
push edi
push ecx
lea ecx, [ebp - 0x14030]
call fcn.00408900
add esp, 0x10
test al, al
je 0x409f27
mov edx, dword [ebp - 0x1409c]
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x14098]
sub ecx, edx
mov dword [ebp - 0x14084], edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x409f27
xor edi, edi
test eax, eax
je 0x409ea3
lea ecx, [esi + 0x90]
mov esi, eax
mov eax, dword [ebp - 0x1409c]
mov dword [ebp - 0x140a4], ecx
nop word [eax + eax]
push 0xffffffffffffffff
push 0
push eax
call fcn.0040cc40
lea eax, [esi - 1]
cmp edi, eax
je 0x409e83
mov ecx, dword [ebp - 0x140a4]
push 2
push 0x42fb70
call fcn.0040bc70
mov eax, dword [ebp - 0x14084]
inc edi
mov ecx, dword [ebp - 0x140a4]
add eax, 0x18
mov dword [ebp - 0x14084], eax
cmp edi, esi
jb 0x409e60
mov esi, dword [ebp - 0x140a8]
push 0x42ccc8
lea ecx, [ebp - 0x14060]
call fcn.00402560
lea eax, [ebp - 0x14060]
mov byte [ebp - 4], 4
lea edi, [esi + 0x90]
push eax
mov edx, edi
lea ecx, [ebp - 0x14078]
call fcn.00408c40
add esp, 4
mov ecx, edi
push eax
call fcn.00405510
lea ecx, [ebp - 0x14078]
call fcn.00402620
lea ecx, [ebp - 0x14060]
mov byte [ebp - 4], 3
call fcn.00402620
cmp dword [esi + 0xa0], 0
jbe 0x409f27
cmp dword [edi + 0x14], 8
mov ecx, dword [esi + 0xa0]
jb 0x409f0f
mov eax, dword [edi]
jmp 0x409f11
mov eax, edi
cmp word [eax + ecx*2 - 2], 0x3b
je 0x409f27
push 1
push 0x42fbe8
mov ecx, edi
call fcn.0040bc70
lea ecx, [ebp - 0x14030]
call fcn.00402620
lea ecx, [ebp - 0x1409c]
mov byte [ebp - 4], 0
call fcn.0040b7b0
mov edi, dword [ebp - 0x140a0]
push edi
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov edi, dword [sym.imp.mfc140u.dll_operator_1]
push 0
lea eax, [ebp - 0x14080]
mov dword [ebp - 0x14080], 0
push eax
push 0
push 0
push 0x13
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x409f8b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x409ff5
mov eax, dword [ebp - 0x14080]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call edi
mov edi, eax
add esp, 4
test edi, edi
je 0x409ff5
mov ecx, dword [ebp - 0x14080]
add ecx, ecx
push ecx
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x14080]
push 0
push eax
push edi
push 0
push 0x13
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x409feb
push edi
lea ecx, [esi + 0xfc]
call fcn.00402510
push edi
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov eax, 0x100000
xor edi, edi
mov dword [ebp - 0x140a0], eax
mov eax, dword [esi + 0x80]
test eax, eax
je 0x40a01c
push eax
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
mov dword [esi + 0x80], edi
push 0x100000
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
mov dword [esi + 0x80], eax
test eax, eax
je 0x40a3cd
push 0x100000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
nop dword [eax + eax]
lea eax, [ebp - 0x14080]
mov dword [ebp - 0x14080], 0
push eax
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x40a1e5
mov edx, dword [esi + 0x88]
test edx, edx
je 0x40a0cc
mov ecx, dword [esi + 0x8c]
test ecx, ecx
je 0x40a0cc
movd xmm1, edi
mov eax, edi
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
sub esp, 8
movd xmm0, ecx
addsd xmm1, qword [eax*8 + 0x431440]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mulsd xmm1, qword [0x4313d0]
addsd xmm0, qword [ecx*8 + 0x431440]
divsd xmm1, xmm0
movsd qword [esp], xmm1
call edx
add esp, 8
mov eax, dword [ebp - 0x14080]
inc eax
push eax
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
mov dword [ebp - 0x140a4], eax
test eax, eax
je 0x40a1f1
mov ecx, dword [ebp - 0x14080]
inc ecx
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x14088], 0
lea eax, [ebp - 0x14088]
push eax
push dword [ebp - 0x14080]
push dword [ebp - 0x140a4]
push dword [ebp - 0x1408c]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x40a1d4
mov eax, dword [ebp - 0x14088]
mov ecx, dword [ebp - 0x140a0]
lea edx, [eax + edi]
cmp edx, ecx
jb 0x40a1b6
mov eax, dword [esi + 0x80]
add ecx, ecx
mov dword [ebp - 0x14084], eax
lea eax, [edx + 1]
cmp ecx, eax
mov edx, eax
cmova edx, ecx
push edx
mov dword [ebp - 0x140a0], edx
call dword [sym.imp.mfc140u.dll_operator_1]
mov ecx, eax
add esp, 4
mov dword [esi + 0x80], ecx
test ecx, ecx
je 0x40a200
mov eax, dword [ebp - 0x140a0]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
push dword [ebp - 0x14084]
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [ebp - 0x14084]
call dword [sym.imp.mfc140u.dll_operator]
mov eax, dword [ebp - 0x14088]
add esp, 4
push eax
mov eax, dword [esi + 0x80]
push dword [ebp - 0x140a4]
add eax, edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x14088]
push dword [ebp - 0x140a4]
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
jmp 0x40a1f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
cmp dword [ebp - 0x14080], 0
ja 0x40a050
jmp 0x40a213
mov eax, dword [ebp - 0x14084]
mov dword [esi + 0x80], eax
mov byte [ebp - 0x14079], 0
mov edx, dword [esi + 0x88]
test edx, edx
je 0x40a26a
mov ecx, dword [esi + 0x8c]
test ecx, ecx
je 0x40a26a
movd xmm1, edi
mov eax, edi
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
sub esp, 8
movd xmm0, ecx
addsd xmm1, qword [eax*8 + 0x431440]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
mulsd xmm1, qword [0x4313d0]
addsd xmm0, qword [ecx*8 + 0x431440]
divsd xmm1, xmm0
movsd qword [esp], xmm1
call edx
add esp, 8
mov dword [esi + 0x84], edi
lea eax, [esi + 0x68]
xor edi, edi
mov dword [ebp - 0x14088], 1
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x14084], edi
jb 0x40a28d
mov eax, dword [eax]
push 5
push str.utf_8
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40a2b3
mov edi, 0xfde9
mov dword [ebp - 0x14088], eax
mov dword [ebp - 0x14084], edi
mov eax, dword [esi + 0x84]
push 0
push 0
inc eax
push eax
push dword [esi + 0x80]
push dword [ebp - 0x14088]
push edi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jg 0x40a30e
mov eax, dword [esi + 0x84]
push 0
push 0
inc eax
mov dword [ebp - 0x14084], 0
push eax
push dword [esi + 0x80]
mov dword [ebp - 0x14088], 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jle 0x40a382
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.mfc140u.dll_operator_1]
add esp, 4
mov dword [ebp - 0x140a8], eax
test eax, eax
je 0x40a382
lea ecx, [edi + edi]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x84]
add esp, 0xc
inc eax
push edi
mov edi, dword [ebp - 0x140a8]
push edi
push eax
push dword [esi + 0x80]
push dword [ebp - 0x14088]
push dword [ebp - 0x14084]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x40a378
push edi
lea ecx, [esi + 0x50]
call fcn.00402510
push edi
call dword [sym.imp.mfc140u.dll_operator]
add esp, 4
cmp dword [ebp - 0x14034], 8
lea ecx, [ebp - 0x14048]
mov esi, 3
mov byte [ebp - 0x1408d], 1
cmovae ecx, dword [ebp - 0x14048]
cmp dword [ebp - 0x14038], esi
cmovb esi, dword [ebp - 0x14038]
test esi, esi
je 0x40a3d4
mov edx, 0x42fa8c
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x40a3d4
add ecx, 2
add edx, 2
sub esi, 1
jne 0x40a3b8
jmp 0x40a3d4
mov byte [ebp - 0x14079], 0
mov edi, dword [ebp - 0x1408c]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
movzx eax, byte [ebp - 0x14079]
xor ecx, ecx
cmp byte [ebp - 0x1408d], cl
cmovne ecx, eax
mov byte [ebp - 0x14079], cl
push dword [ebp - 0x140ac]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x40a41a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 0x14079], 0
mov dword [esi + 0xf8], eax
mov ecx, dword [ebp - 0x14034]
cmp ecx, 8
jb 0x40a432
inc ecx
push ecx
push dword [ebp - 0x14048]
call fcn.004025c0
mov al, byte [ebp - 0x14079]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00426682
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8