Function at 0x40c9a3
Capabilities:
Contain obfuscated stackstrings
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e39d3
mov eax, dword fs:[0]
push eax
mov eax, 0x137c
call fcn.004c3960
mov eax, dword [0x540698]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1354], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1324], eax
mov eax, dword [ebp + 0x18]
xor ebx, ebx
push esi
mov dword [ebp - 0x12d8], edi
mov dword [ebp - 0x1388], edi
mov dword [ebp - 0x1320], esi
mov dword [ebp - 0x1358], eax
mov dword [ebp - 0x12e0], ebx
mov dword [ebp - 0x135c], ebx
call fcn.0040f14d
pop ecx
test al, al
je 0x40ca56
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0x12d4]
call fcn.004017e3
push eax
push edi
mov dword [ebp - 4], 1
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12d4]
add ecx, 0xfffffff0
call fcn.00404fef
mov eax, edi
jmp 0x40ebdb
cmp dword [ebp - 0x1354], ebx
jne 0x40ca89
push str.InternetOpen_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
push eax
push edi
mov dword [ebp - 4], 2
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e0]
lea ecx, [ecx - 0x10]
jmp 0x40ca4a
push 0x5401f0
lea ecx, [ebp - 0x133c]
call fcn.00401718
push 3
pop eax
push 0x5401f0
lea ecx, [ebp - 0x12f8]
mov dword [ebp - 4], eax
call fcn.00401718
push 4
pop eax
push 0x4f7050
mov ecx, esi
mov byte [ebp - 4], al
mov dword [ebp - 0x12cc], ebx
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12f4]
push eax
call fcn.0046c316
lea eax, [ebp - 0x12cc]
push eax
lea eax, [ebp - 0x12f8]
push eax
lea eax, [ebp - 0x133c]
push eax
lea eax, [ebp - 0x12f4]
push eax
mov byte [ebp - 4], 5
call fcn.0040c05f
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x40cb66
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
push eax
push edi
mov byte [ebp - 4], 6
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f8]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x133c]
jmp 0x40ca84
push str.redirectCheck
mov ecx, esi
mov byte [ebp - 0x12f9], bl
call fcn.00454928
test al, al
je 0x40cbac
push str.redirectCheck
mov ecx, esi
call fcn.00453cb9
mov ecx, eax
call fcn.004548d3
test al, al
je 0x40cbac
push str.redirectCheck
mov ecx, esi
call fcn.00453cb9
mov ecx, eax
call fcn.0045407f
mov byte [ebp - 0x12f9], al
push 0x50
pop eax
mov dword [ebp - 0x12d0], eax
lea eax, [ebp - 0x12d0]
push eax
lea eax, [ebp - 0x12e5]
push eax
mov eax, dword [ebp - 0x12f4]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0x12e5], bl
call fcn.00403806
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0040bfdc
mov esi, dword [ebp - 0x1320]
add esp, 0xc
mov ecx, esi
push str.port
call fcn.00453cb9
mov ecx, eax
call fcn.00454908
test al, al
je 0x40cc1b
push str.port
mov ecx, esi
call fcn.00453cb9
mov ecx, eax
call fcn.0045419b
jmp 0x40cc2a
mov eax, dword [ebp - 0x12cc]
test eax, eax
cmove eax, dword [ebp - 0x12d0]
push eax
mov dword [ebp - 0x12d0], eax
lea eax, [ebp - 0x133c]
push eax
push dword [ebp - 0x1324]
mov byte [ebp - 0x12c5], bl
call fcn.0040bf38
mov esi, dword [ebp - 0x133c]
add esp, 0xc
mov dword [ebp - 0x12f0], eax
test eax, eax
jne 0x40cdab
mov eax, dword [0x5427c4]
test eax, eax
jne 0x40cd0c
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x12d4], eax
call fcn.0040fb27
mov ecx, dword [0x5427a0]
test al, al
mov eax, dword [ebp - 0x12d4]
mov edx, 0x3b88f537
cmove ecx, edx
mov dword [0x5427a0], ecx
test eax, eax
je 0x40ccb6
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5427c4], eax
jmp 0x40ccbb
mov eax, dword [0x5427c4]
mov edx, dword [0x541ad4]
mov dword [ebp - 0x12cc], eax
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
push 3
cdq
pop ecx
idiv ecx
cmp edx, 2
jne 0x40ccf2
lea eax, [ebp - 0x12c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [0x5427c4]
jmp 0x40ccf8
mov eax, dword [ebp - 0x12cc]
test eax, eax
jne 0x40cd0c
mov eax, ebx
mov dword [ebp - 0x12f0], ebx
mov ebx, dword [ebp - 0x12d0]
jmp 0x40cd2a
push ebx
push ebx
push 3
pop ecx
push ecx
push ebx
push ebx
mov ebx, dword [ebp - 0x12d0]
push ebx
push esi
push dword [ebp - 0x1354]
call eax
mov dword [ebp - 0x12f0], eax
test eax, eax
jne 0x40cd7d
push str.InternetConnect_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
push eax
push edi
mov byte [ebp - 4], 7
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f8]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [esi - 0x10]
jmp 0x40ca4a
mov ecx, dword [ebp - 0x1358]
test ecx, ecx
jne 0x40cd90
mov byte [ebp - 0x12c5], 1
jmp 0x40cdab
push eax
push ebx
lea eax, [ebp - 0x133c]
push eax
push dword [ebp + 0x1c]
push ecx
call fcn.0040f283
mov esi, dword [ebp - 0x133c]
add esp, 0x14
cmp byte [ebp - 0x12f9], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0x12e5], 0
mov dword [ebp - 0x12cc], eax
je 0x40cdde
or eax, 0x803080
mov dword [ebp - 0x12cc], eax
mov edi, 0x5401f0
push edi
lea ecx, [ebp - 0x130c]
call fcn.00401718
mov ebx, dword [ebp - 0x1320]
push str.method
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40ce5f
push str.method
mov ecx, ebx
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push eax
lea ecx, [ebp - 0x130c]
mov byte [ebp - 4], 9
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00404fef
push edi
lea ecx, [ebp - 0x1308]
call fcn.00401718
push str.version
mov ecx, ebx
mov byte [ebp - 4], 0xa
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40ced5
push str.version
mov ecx, ebx
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push eax
lea ecx, [ebp - 0x1308]
mov byte [ebp - 4], 0xb
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
mov byte [ebp - 4], 0xa
lea ecx, [ecx - 0x10]
call fcn.00404fef
push edi
lea ecx, [ebp - 0x1310]
call fcn.00401718
push 0xc
pop eax
push str.referer
mov ecx, ebx
mov byte [ebp - 4], al
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40cf4f
push str.referer
mov ecx, ebx
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push eax
lea ecx, [ebp - 0x1310]
mov byte [ebp - 4], 0xd
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
push 0xc
pop eax
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], al
call fcn.00404fef
push edi
lea ecx, [ebp - 0x1358]
call fcn.00401718
mov edi, str.acceptTypes
push edi
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40cfc2
push edi
mov ecx, ebx
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push eax
lea ecx, [ebp - 0x1358]
mov byte [ebp - 4], 0xf
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
mov byte [ebp - 4], 0xe
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ebx, dword [ebp - 0x1358]
mov edi, dword [ebp - 0x1310]
xor ecx, ecx
cmp dword [ebx - 0xc], ecx
mov eax, ebx
cmove eax, ecx
and dword [ebp - 0x1380], ecx
mov dword [ebp - 0x1384], eax
cmp dword [edi - 0xc], ecx
mov eax, edi
cmove eax, ecx
mov dword [ebp - 0x1324], eax
mov eax, dword [ebp - 0x1308]
push 1
cmp dword [eax - 0xc], ecx
push dword [ebp - 0x12cc]
mov edx, eax
mov eax, dword [ebp - 0x130c]
cmove edx, ecx
and dword [ebp - 0x12d4], 0
cmp dword [eax - 0xc], 0
mov ecx, eax
cmove ecx, dword [ebp - 0x12d4]
lea eax, [ebp - 0x1384]
push eax
push dword [ebp - 0x1324]
push edx
push dword [ebp - 0x12f8]
push ecx
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x1300], eax
test eax, eax
jne 0x40d0e9
call fcn.0040f8ed
test al, al
jne 0x40d0a9
movd xmm4, dword [0x541ad4]
movsd xmm3, qword [0x4f6bd0]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x40d08f
subsd xmm2, xmm3
divsd xmm3, qword [0x4f6bd8]
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmmword [0x4f6bc8]
ja 0x40d071
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
push eax
push dword [ebp - 0x12d8]
mov byte [ebp - 4], 0x10
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [ebx - 0x10]
call fcn.00404fef
lea ecx, [edi - 0x10]
jmp 0x40eb90
push 0x5401f0
lea ecx, [ebp - 0x1354]
call fcn.00401718
mov edi, dword [ebp - 0x1320]
push 0x11
pop eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], al
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
mov dword [ebp - 0x12e4], 0x15
test al, al
je 0x40d215
push 0x4f7238
lea ecx, [ebp - 0x12cc]
call fcn.00401824
lea eax, [ebp - 0x12cc]
push eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12dc]
push eax
call fcn.0046c316
add esp, 0x1c
mov edi, eax
push str.Content_Type:
lea ecx, [ebp - 0x12d0]
mov byte [ebp - 4], 0x13
call fcn.004017e3
push edi
push eax
lea eax, [ebp - 0x1324]
push eax
mov byte [ebp - 4], 0x14
call fcn.0045107a
add esp, 0xc
push 0x15
pop ecx
push eax
lea eax, [ebp - 0x12d4]
push eax
mov byte [ebp - 4], cl
call fcn.0045107a
add esp, 0xc
push eax
lea ecx, [ebp - 0x1354]
mov byte [ebp - 4], 0x16
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1324]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12d0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12dc]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12cc]
push 0x11
pop eax
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], al
call fcn.00404fef
mov edi, dword [ebp - 0x1320]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
mov dword [ebp - 0x12d0], 0x17
test al, al
je 0x40d2d0
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
mov eax, dword [eax]
push 0x17
pop ecx
push dword [eax - 0xc]
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x1354]
call fcn.00401f75
mov ecx, dword [ebp - 0x12d4]
push 0x11
pop eax
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], al
call fcn.00404fef
mov edi, dword [ebp - 0x1354]
lea eax, [edi - 0x10]
push eax
call fcn.00403806
add eax, 0x10
pop ecx
mov dword [ebp - 0x12cc], eax
lea ecx, [ebp - 0x12cc]
mov byte [ebp - 4], 0x18
call fcn.0040f3b2
mov ecx, dword [ebp - 0x12cc]
push 0x11
pop eax
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], al
call fcn.00404fef
jmp 0x40d2d6
mov edi, dword [ebp - 0x1354]
push 0x5401f0
lea ecx, [ebp - 0x1304]
call fcn.00401718
mov ecx, dword [ebp - 0x1320]
push str.postData
mov byte [ebp - 4], 0x19
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40d358
mov ecx, dword [ebp - 0x1320]
push str.postData
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push eax
lea ecx, [ebp - 0x1304]
mov byte [ebp - 4], 0x1a
call fcn.00401ced
mov ecx, dword [ebp - 0x12d4]
mov byte [ebp - 4], 0x19
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x1304]
lea ecx, [ebp - 0x1314]
call fcn.004017a2
cmp byte [ebp - 0x12f9], 0
mov eax, dword [ebp - 0x1304]
mov byte [ebp - 4], 0x1b
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x12d4], eax
je 0x40d3c1
push 4
pop edx
push edx
lea eax, [ebp - 0x12cc]
push eax
push 6
push dword [ebp - 0x1300]
mov dword [ebp - 0x12cc], 0x2710
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
pop eax
push eax
lea eax, [ebp - 0x12cc]
push eax
push 5
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
xor ecx, ecx
cmp dword [edi - 0xc], ecx
mov eax, edi
cmove eax, ecx
push ecx
lea ecx, [ebp - 0x1314]
mov dword [ebp - 0x1324], eax
call fcn.00404f0f
push dword [ebp - 0x12d4]
push eax
push dword [edi - 0xc]
push dword [ebp - 0x1324]
push dword [ebp - 0x1300]
call fcn.00409dce
push eax
call fcn.00414bef
test eax, eax
jne 0x40d49a
lea eax, [ebp - 0x12cc]
push eax
call fcn.0040a5f5
pop ecx
push dword [ebp - 0x1300]
mov byte [ebp - 4], 0x1c
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40d438
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0x12d4]
call fcn.004017e3
lea ecx, [ebp - 0x12cc]
push ecx
push eax
lea eax, [ebp - 0x12e0]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0045107a
push eax
push dword [ebp - 0x12d8]
mov byte [ebp - 4], 0x1e
call fcn.0040c1bd
mov ecx, dword [ebp - 0x12e0]
add esp, 0x14
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12d4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12cc]
jmp 0x40eb53
push dword [ebp - 0x1320]
call fcn.0040f248
pop ecx
test al, al
jne 0x40d58f
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40d4cf
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0
lea ecx, [ebp - 0x134c]
call fcn.004538eb
push 1
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x1f
call fcn.0045396e
lea eax, [ebp - 0x1338]
push eax
push str.result
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x20
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x1f
call fcn.00453a94
push str.no_response_needed
lea ecx, [ebp - 0x1338]
call fcn.004538bc
lea eax, [ebp - 0x1338]
push eax
push str.content
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x21
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x1f
call fcn.00453a94
mov ecx, dword [ebp - 0x12d8]
lea eax, [ebp - 0x134c]
push eax
call fcn.00453717
lea ecx, [ebp - 0x134c]
mov dword [ebp - 0x135c], 1
mov byte [ebp - 4], 0x1b
call fcn.00453a94
jmp 0x40eb5b
xor eax, eax
push 0x400
push eax
mov byte [ebp - 0x818], al
lea eax, [ebp - 0x817]
push eax
call fcn.004c3990
add esp, 0xc
mov dword [ebp - 0x137c], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x40d613
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40d5e6
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
mov byte [ebp - 4], 0x22
push eax
push dword [ebp - 0x12d8]
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e0]
jmp 0x40eb53
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x40d6bd
mov ecx, dword [0x541ad4]
push 4
lea eax, [ecx + 1]
imul eax, ecx
cdq
idiv dword [ebp - 0x12d0]
pop eax
cmp edx, eax
jne 0x40d668
mov eax, ecx
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x63]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
pop ecx
pop ecx
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.0040f991
mov ecx, dword [0x54278c]
test al, al
mov edx, 0x3ebdd744
cmove ecx, edx
cmp byte [ebp - 0x12c5], 0
mov dword [0x54278c], ecx
je 0x40d6a4
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
mov byte [ebp - 4], 0x23
jmp 0x40d5fa
push 0
lea ecx, [ebp - 0x137c]
push ecx
lea ecx, [ebp - 0x818]
push ecx
push 0x13
push dword [ebp - 0x1300]
call eax
test eax, eax
jne 0x40d715
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40d6fc
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x12e0]
call fcn.004017e3
mov byte [ebp - 4], 0x24
jmp 0x40d5fa
push 0x5401f0
lea ecx, [ebp - 0x12ec]
call fcn.00401718
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x12ec]
mov byte [ebp - 4], 0x25
call fcn.00401d90
mov ecx, dword [ebp - 0x1320]
push str.acceptedStatusCodes
mov byte [ebp - 4], 0x26
call fcn.00453cb9
mov ecx, eax
mov dword [ebp - 0x131c], eax
call fcn.004548c1
mov ecx, dword [ebp - 0x131c]
test al, al
je 0x40d8bd
and dword [ebp - 0x12dc], 0
call fcn.00454d87
test eax, eax
jle 0x40dab9
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x131c]
call fcn.00453c5e
mov ecx, eax
call fcn.00454985
push dword [ebp - 0x12dc]
mov ecx, dword [ebp - 0x131c]
test al, al
je 0x40d7f4
call fcn.00453c5e
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12d4]
push eax
call fcn.0046c316
add esp, 0x1c
push dword [eax]
lea ecx, [ebp - 0x12ec]
mov byte [ebp - 4], 0x27
call fcn.00403865
mov ecx, dword [ebp - 0x12d4]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov dword [ebp - 0x1324], eax
jmp 0x40d883
call fcn.00453c5e
mov ecx, eax
call fcn.00454908
test al, al
je 0x40d899
push 0x5401f0
lea ecx, [ebp - 0x12cc]
call fcn.00401718
push dword [ebp - 0x12dc]
mov ecx, dword [ebp - 0x131c]
mov byte [ebp - 4], 0x28
call fcn.00453c5e
mov ecx, eax
call fcn.0045419b
push eax
lea eax, [ebp - 0x12cc]
push eax
lea eax, [ebp - 0x12d0]
push eax
call fcn.004511f4
add esp, 0xc
mov ecx, dword [ebp - 0x12cc]
mov byte [ebp - 4], 0x2a
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x12d0]
lea ecx, [ebp - 0x12ec]
call fcn.00403865
mov ecx, dword [ebp - 0x12d0]
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1324], al
lea ecx, [ecx - 0x10]
mov byte [ebp - 4], 0x26
call fcn.00404fef
cmp byte [ebp - 0x1324], 0
jne 0x40db75
mov ecx, dword [ebp - 0x131c]
inc dword [ebp - 0x12dc]
call fcn.00454d87
mov ecx, dword [ebp - 0x12dc]
cmp ecx, eax
jl 0x40d780
jmp 0x40dab9
call fcn.0045496a
test al, al
je 0x40da9b
call fcn.0040fa9c
test al, al
jne 0x40d8f2
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x541ad4]
test eax, eax
push 7
pop eax
cmove ecx, eax
mov dword [0x541ad4], ecx
mov ecx, dword [ebp - 0x131c]
and dword [ebp - 0x12d0], 0
call fcn.00454d87
test eax, eax
jle 0x40dab9
push 0x5401f0
lea ecx, [ebp - 0x12dc]
call fcn.00401718
push dword [ebp - 0x12d0]
lea eax, [ebp - 0x12dc]
push 0x4f4170
push eax
mov byte [ebp - 4], 0x2b
call fcn.0040c4a9
mov ecx, dword [ebp - 0x131c]
add esp, 0xc
push dword [ebp - 0x12dc]
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
push dword [ebp - 0x12dc]
mov ecx, dword [ebp - 0x131c]
test al, al
je 0x40d9b3
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x1318]
push eax
call fcn.0046c316
add esp, 0x1c
push dword [eax]
lea ecx, [ebp - 0x12ec]
mov byte [ebp - 4], 0x2c
call fcn.00403865
mov ecx, dword [ebp - 0x1318]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov dword [ebp - 0x12cc], eax
jmp 0x40da42
call fcn.00453cb9
mov ecx, eax
call fcn.00454908
test al, al
je 0x40da50
push 0x5401f0
lea ecx, [ebp - 0x1324]
call fcn.00401718
push dword [ebp - 0x12dc]
mov ecx, dword [ebp - 0x131c]
mov byte [ebp - 4], 0x2d
call fcn.00453cb9
mov ecx, eax
call fcn.0045419b
push eax
lea eax, [ebp - 0x1324]
push eax
lea eax, [ebp - 0x12d4]
push eax
call fcn.004511f4
add esp, 0xc
mov ecx, dword [ebp - 0x1324]
mov byte [ebp - 4], 0x2f
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x12d4]
lea ecx, [ebp - 0x12ec]
call fcn.00403865
mov ecx, dword [ebp - 0x12d4]
neg eax
sbb al, al
inc al
mov byte [ebp - 0x12cc], al
lea ecx, [ecx - 0x10]
call fcn.00404fef
cmp byte [ebp - 0x12cc], 0
jne 0x40da81
mov ecx, dword [ebp - 0x12dc]
mov byte [ebp - 4], 0x26
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x131c]
inc dword [ebp - 0x12d0]
call fcn.00454d87
cmp dword [ebp - 0x12d0], eax
jl 0x40d90c
jmp 0x40dab9
mov ecx, dword [ebp - 0x12dc]
mov byte [ebp - 4], 0x26
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov eax, dword [ebp - 0x12cc]
jmp 0x40dab1
push 0x4f72b8
lea ecx, [ebp - 0x12ec]
call fcn.00403865
neg eax
sbb al, al
inc al
test al, al
jne 0x40db75
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.0040fb27
test al, al
jne 0x40dafe
mov eax, dword [0x541ad4]
test eax, eax
je 0x40daf3
xor ebx, ebx
mov ecx, eax
cdq
and ecx, 1
sub eax, edx
add ebx, ecx
sar eax, 1
jne 0x40dad9
mov dword [ebp - 0x12e0], ebx
mov ebx, dword [ebp - 0x1358]
mov eax, dword [ebp - 0x12e0]
mov dword [0x541ad4], eax
cmp byte [ebp - 0x12c5], 0
je 0x40db13
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 3
lea eax, [ebp - 0x1298]
mov dword [ebp - 0x129c], eax
pop eax
push eax
push dword [ebp - 0x12ec]
lea ecx, [ebp - 0x129c]
call fcn.00404bca
push dword [ebp - 0x129c]
mov byte [ebp - 4], 0x30
call fcn.004c3ae2
push eax
push dword [ebp - 0x12d8]
call fcn.0040c316
lea eax, [ebp - 0x1298]
add esp, 0xc
cmp dword [ebp - 0x129c], eax
je 0x40eb4d
push dword [ebp - 0x129c]
call fcn.004c2f8c
pop ecx
jmp 0x40eb4d
xor eax, eax
push eax
lea ecx, [ebp - 0x1364]
push ecx
push eax
push 0x16
push dword [ebp - 0x1300]
mov dword [ebp - 0x1364], eax
call fcn.0040fba8
add esp, 0x14
lea ecx, [ebp - 0x1328]
push 0x5401f0
call fcn.00401718
cmp dword [ebp - 0x1364], 0
mov byte [ebp - 4], 0x31
je 0x40dc44
push dword [ebp - 0x1364]
call fcn.004c0e30
pop ecx
mov dword [ebp - 0x12cc], eax
test eax, eax
je 0x40dc44
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x40dc05
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40dc05
push 0
lea ecx, [ebp - 0x1364]
push ecx
push dword [ebp - 0x12cc]
push 0x16
push dword [ebp - 0x1300]
call eax
push dword [ebp - 0x12cc]
lea ecx, [ebp - 0x1318]
call fcn.00408f7d
push eax
lea ecx, [ebp - 0x1328]
mov byte [ebp - 4], 0x32
call fcn.00401ced
mov ecx, dword [ebp - 0x1318]
mov byte [ebp - 4], 0x31
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x12cc]
call fcn.004c1c8e
pop ecx
cmp byte [ebp - 0x12f9], 0
je 0x40dfce
push 0
lea ecx, [ebp - 0x134c]
call fcn.004538eb
mov byte [ebp - 4], 0x33
call fcn.0040f96f
test al, al
jne 0x40dc71
inc dword [0x542740]
push 0x4f72c0
lea ecx, [ebp - 0x12ec]
call fcn.00403865
test eax, eax
je 0x40dd18
push 0x4f72c8
lea ecx, [ebp - 0x12ec]
call fcn.00403865
test eax, eax
je 0x40dd18
push 0x4f72d0
lea ecx, [ebp - 0x12ec]
call fcn.00403865
test eax, eax
je 0x40dd18
push 0x4f72d8
lea ecx, [ebp - 0x12ec]
call fcn.00403865
test eax, eax
je 0x40dd18
mov eax, dword [0x541ad4]
imul eax, eax
cdq
push 0x17
pop ecx
idiv ecx
mov eax, dword [0x5426b0]
mov ecx, 0xfbbf39ca
cmp edx, 0x14
cmove eax, ecx
mov ecx, dword [ebp - 0x12d8]
mov dword [0x5426b0], eax
lea eax, [ebp - 0x134c]
push eax
call fcn.00453717
mov dword [ebp - 0x135c], 1
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x31
call fcn.00453a94
jmp 0x40eb3f
push 0x5401f0
lea ecx, [ebp - 0x12f0]
call fcn.00401718
mov eax, dword [ebp - 0x1328]
add eax, 0xfffffff0
push eax
mov byte [ebp - 4], 0x34
call fcn.00403806
add eax, 0x10
pop ecx
mov dword [ebp - 0x12dc], eax
lea ecx, [ebp - 0x12dc]
mov byte [ebp - 4], 0x35
call fcn.00408eee
call fcn.0040f7e5
test al, al
jne 0x40dd6a
lea eax, [ebp - 0x12c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
push 0
push str.location:
lea ecx, [ebp - 0x12dc]
call fcn.004039d8
mov dword [ebp - 0x1318], eax
cmp eax, 0xffffffff
jne 0x40ddc4
mov ecx, dword [ebp - 0x12d8]
lea eax, [ebp - 0x134c]
push eax
call fcn.00453717
mov ecx, dword [ebp - 0x12dc]
mov dword [ebp - 0x135c], 1
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
jmp 0x40dd04
push eax
push 0x4f7238
lea ecx, [ebp - 0x12dc]
call fcn.004039d8
mov ecx, dword [ebp - 0x1318]
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x12e0]
push eax
lea ecx, [ebp - 0x12dc]
call fcn.00404de0
push eax
lea ecx, [ebp - 0x12f0]
mov byte [ebp - 4], 0x36
call fcn.00401ced
mov ecx, dword [ebp - 0x12e0]
mov byte [ebp - 4], 0x35
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 0
push str.http
lea ecx, [ebp - 0x12f0]
call fcn.004039d8
mov ecx, eax
cmp ecx, 0xffffffff
je 0x40dd87
mov eax, dword [ebp - 0x12f0]
mov eax, dword [eax - 0xc]
sub eax, ecx
push eax
lea eax, [ebp - 0x1318]
push eax
lea ecx, [ebp - 0x12f0]
call fcn.004057be
push eax
lea ecx, [ebp - 0x12f0]
mov byte [ebp - 4], 0x37
call fcn.00401ced
mov ecx, dword [ebp - 0x1318]
mov byte [ebp - 4], 0x35
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 1
lea ecx, [ebp - 0x1338]
call fcn.0045396e
lea eax, [ebp - 0x1338]
push eax
push str.urlRedirected
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x38
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x35
call fcn.00453a94
lea eax, [ebp - 0x12f4]
push eax
lea eax, [ebp - 0x1218]
push eax
call fcn.0046c361
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x39
call fcn.0045381b
lea eax, [ebp - 0x1338]
push eax
push str.requestUrl
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x3a
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x39
call fcn.00453a94
lea ecx, [ebp - 0x1218]
mov byte [ebp - 4], 0x35
call fcn.0040102f
lea eax, [ebp - 0x12f0]
push eax
lea eax, [ebp - 0x1200]
push eax
call fcn.0046c361
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x3b
call fcn.0045381b
lea eax, [ebp - 0x1338]
push eax
push str.redirectUrl
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x3c
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x1338]
call fcn.00453a94
lea ecx, [ebp - 0x1200]
mov byte [ebp - 4], 0x35
call fcn.0040102f
push 0
lea ecx, [ebp - 0x12ec]
call fcn.00404f47
push eax
call fcn.004c302d
pop ecx
push eax
lea ecx, [ebp - 0x1338]
call fcn.00453876
lea eax, [ebp - 0x1338]
push eax
push str.statusCode
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x3d
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0x35
call fcn.00453a94
jmp 0x40dd87
xor eax, eax
mov edx, eax
mov ecx, eax
mov dword [ebp - 0x1334], edx
mov dword [ebp - 0x1330], ecx
mov dword [ebp - 0x132c], eax
mov byte [ebp - 4], 0x3e
mov dword [ebp - 0x1360], eax
sub ecx, edx
mov dword [ebp - 0x12d4], ecx
lea eax, [ecx + 0x400]
push eax
lea ecx, [ebp - 0x1334]
call fcn.0040fb4f
call fcn.0040fa9c
test al, al
jne 0x40e09e
xor eax, eax
push 0xa0
mov word [ebp - 0x12bc], ax
xor ebx, ebx
lea eax, [ebp - 0x12ba]
push ebx
push eax
call fcn.004c3990
mov eax, ebx
add esp, 0xc
mov dword [ebp - 0x12e0], eax
mov esi, ebx
mov edx, ebx
test eax, eax
je 0x40e071
test edx, edx
je 0x40e071
lea eax, [esi + edx]
lea ecx, [esi + edx]
mov ax, word [ebp + eax*2 - 0x12ce]
inc ax
add ax, word [ebp + ecx*2 - 0x12be]
mov word [ebp + ecx*2 - 0x12bc], ax
mov eax, dword [ebp - 0x12e0]
inc edx
cmp edx, 9
jl 0x40e043
inc eax
add esi, 9
mov dword [ebp - 0x12e0], eax
cmp esi, 0x51
jl 0x40e041
movsx eax, word [ebp - 0x121c]
mov esi, dword [ebp - 0x133c]
mov ebx, dword [ebp - 0x1358]
mov dword [0x541ad4], eax
mov eax, dword [ebp - 0x1334]
add eax, dword [ebp - 0x12d4]
and dword [ebp - 0x1360], 0
lea ecx, [ebp - 0x1360]
push ecx
push 0x400
push eax
push dword [ebp - 0x1300]
call fcn.00409dce
push eax
call fcn.00414cc8
test eax, eax
je 0x40eabb
mov eax, dword [ebp - 0x1360]
add eax, dword [ebp - 0x12d4]
lea ecx, [ebp - 0x1334]
push eax
call fcn.0040fb4f
cmp dword [ebp - 0x1360], 0
je 0x40e109
mov ecx, dword [ebp - 0x1330]
mov edx, dword [ebp - 0x1334]
jmp 0x40dff0
xor eax, eax
push 0x400
push eax
mov byte [ebp - 0x414], al
lea eax, [ebp - 0x413]
push eax
call fcn.004c3990
add esp, 0xc
mov dword [ebp - 0x1378], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x40e14d
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x40e14f
xor eax, eax
push 0
lea ecx, [ebp - 0x1378]
push ecx
lea ecx, [ebp - 0x414]
push ecx
push 0x1d
push dword [ebp - 0x1300]
call eax
test eax, eax
je 0x40e2cb
mov ecx, dword [0x541ad4]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
idiv dword [ebp - 0x12e4]
push 4
pop eax
cmp edx, eax
jne 0x40e1b7
mov eax, ecx
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x141]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
pop ecx
pop ecx
push 0x5401f0
lea ecx, [ebp - 0x12d0]
call fcn.00401718
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x12d0]
mov byte [ebp - 4], 0x40
call fcn.00401d90
push str.gzip
lea ecx, [ebp - 0x12d0]
mov byte [ebp - 4], 0x41
call fcn.00403865
test eax, eax
jne 0x40e2b9
mov dword [ebp - 0x1348], eax
mov dword [ebp - 0x1344], eax
mov dword [ebp - 0x1340], eax
mov eax, dword [ebp - 0x1330]
sub eax, dword [ebp - 0x1334]
lea ecx, [ebp - 0x1348]
push ecx
push eax
push dword [ebp - 0x1334]
mov byte [ebp - 4], 0x42
call fcn.0040f6f2
add esp, 0xc
test eax, eax
jne 0x40e29c
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40e256
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.gzip_decompressing_error
lea ecx, [ebp - 0x12e4]
call fcn.004017e3
push eax
push dword [ebp - 0x12d8]
mov byte [ebp - 4], 0x43
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x1348]
call fcn.0040f54f
mov ecx, dword [ebp - 0x12d0]
jmp 0x40eb2c
lea eax, [ebp - 0x1348]
push eax
lea ecx, [ebp - 0x1334]
call fcn.0040be85
lea ecx, [ebp - 0x1348]
call fcn.0040f54f
mov ecx, dword [ebp - 0x12d0]
mov byte [ebp - 4], 0x3e
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40e2ec
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x1320]
xor eax, eax
push str.responseType
mov byte [ebp - 0x12e5], al
mov byte [ebp - 0x12d0], al
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40e3a4
mov ecx, dword [ebp - 0x1320]
push str.responseType
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12cc]
push eax
call fcn.0046c316
add esp, 0x1c
push str.base64
lea ecx, [ebp - 0x12cc]
mov byte [ebp - 4], 0x44
call fcn.00403865
test eax, eax
jne 0x40e36b
mov byte [ebp - 0x12e5], 1
jmp 0x40e392
push str.binary
lea ecx, [ebp - 0x12cc]
call fcn.00403865
mov ecx, dword [ebp - 0x12d0]
movzx ecx, cl
test eax, eax
push 1
pop eax
cmove ecx, eax
mov dword [ebp - 0x12d0], ecx
mov ecx, dword [ebp - 0x12cc]
mov byte [ebp - 4], 0x3e
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 0x5401f0
lea ecx, [ebp - 0x1350]
call fcn.00401718
cmp byte [ebp - 0x12e5], 0
mov byte [ebp - 4], 0x45
je 0x40e575
mov edx, dword [0x541ad4]
push 0xc
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
pop ecx
idiv ecx
push 4
pop eax
cmp edx, eax
jne 0x40e3fd
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
xor eax, eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ecx, dword [ebp - 0x1334]
mov eax, dword [ebp - 0x1330]
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x12e4]
push eax
call fcn.004087cc
add esp, 0xc
push eax
lea ecx, [ebp - 0x1350]
mov byte [ebp - 4], 0x46
call fcn.00401ced
mov ecx, dword [ebp - 0x12e4]
mov byte [ebp - 4], 0x45
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea eax, [ebp - 0x1318]
push eax
call fcn.0040bb7f
pop ecx
push dword [eax]
lea ecx, [ebp - 0x1350]
mov byte [ebp - 4], 0x47
call fcn.00403865
mov ecx, dword [ebp - 0x1318]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x12e4], eax
call fcn.00404fef
cmp byte [ebp - 0x12e4], 0
je 0x40e4f7
mov eax, dword [0x541ad4]
imul eax, eax
push 0x11
cdq
pop ecx
idiv ecx
cmp edx, 6
jne 0x40e4bc
mov esi, dword [0x541ad4]
mov edi, esi
xor ebx, ebx
inc ebx
dec edi
cmp ebx, 0xa0
jb 0x40e4a0
mov esi, dword [ebp - 0x133c]
mov edi, dword [ebp - 0x1354]
mov ebx, dword [ebp - 0x1358]
push str.Base64_encdng_error
lea ecx, [ebp - 0x12e4]
call fcn.004017e3
push eax
push dword [ebp - 0x12d8]
mov byte [ebp - 4], 0x48
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1350]
jmp 0x40eb2c
call fcn.00406d3f
test al, al
jne 0x40e6b7
xor ebx, ebx
call fcn.004c2f1b
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc ebx
movsd qword [ebp + ebx*8 - 0x11c0], xmm0
cmp ebx, 0xe4
jb 0x40e506
mov ebx, dword [ebp - 0x1358]
xor ecx, ecx
mov edx, 0xe3
mov eax, edx
cmp ecx, edx
jge 0x40e567
movsd xmm0, qword [ebp + eax*8 - 0x11b8]
movsd xmm1, qword [ebp + eax*8 - 0x11c0]
comisd xmm0, xmm1
jbe 0x40e562
movsd qword [ebp + eax*8 - 0x11b8], xmm1
movsd qword [ebp + eax*8 - 0x11c0], xmm0
dec eax
cmp eax, ecx
jg 0x40e538
inc ecx
cmp ecx, 0xe4
jl 0x40e532
jmp 0x40e6b7
cmp byte [ebp - 0x12d0], 0
jne 0x40e6b7
call fcn.0040f86d
test al, al
jne 0x40e5b1
mov ebx, dword [0x541ad4]
xor esi, esi
mov edi, ebx
inc esi
dec edi
cmp esi, 0x95
jb 0x40e595
mov esi, dword [ebp - 0x133c]
mov edi, dword [ebp - 0x1354]
mov ebx, dword [ebp - 0x1358]
mov eax, dword [ebp - 0x1330]
sub eax, dword [ebp - 0x1334]
mov dword [ebp - 0x12e0], eax
call fcn.0040f8ed
test al, al
jne 0x40e5e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x50
xor edx, edx
pop ecx
div ecx
inc edx
mov dword [0x541ad4], edx
mov ecx, dword [ebp - 0x1334]
mov eax, dword [ebp - 0x12e0]
cmp byte [eax + ecx - 1], 0
je 0x40e610
inc eax
push eax
lea ecx, [ebp - 0x1334]
call fcn.0040fb4f
mov ecx, dword [ebp - 0x1334]
mov eax, dword [ebp - 0x12e0]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x1330]
sub eax, ecx
cmp eax, 3
jbe 0x40e64b
cmp byte [ecx], 0xef
jne 0x40e64b
cmp byte [ecx + 1], 0xbb
jne 0x40e64b
cmp byte [ecx + 2], 0xbf
jne 0x40e64b
lea eax, [ecx + 3]
push eax
push ecx
lea eax, [ebp - 0x12e4]
push eax
lea ecx, [ebp - 0x1334]
call fcn.0040f6b3
mov ecx, dword [ebp - 0x1334]
push ecx
lea ecx, [ebp - 0x12e4]
call fcn.004017e3
push eax
lea ecx, [ebp - 0x1350]
mov byte [ebp - 4], 0x49
call fcn.00401ced
mov ecx, dword [ebp - 0x12e4]
mov byte [ebp - 4], 0x45
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov eax, dword [0x541ad4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 0x8000000f
jns 0x40e691
dec ecx
or ecx, 0xfffffff0
inc ecx
xor eax, eax
inc eax
cmp ecx, eax
jne 0x40e6b7
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x541ad4]
test eax, eax
push 7
pop eax
cmove ecx, eax
mov dword [0x541ad4], ecx
mov ecx, dword [ebp - 0x1320]
push str.outputFile
mov byte [ebp - 0x12dc], 0
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40e7e4
mov ecx, dword [ebp - 0x1320]
push str.outputFile
call fcn.00453cb9
mov ecx, eax
call fcn.0045443c
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x12cc]
push eax
call fcn.0046c316
add esp, 0x1c
mov eax, dword [ebp - 0x12cc]
mov byte [ebp - 4], 0x4a
cmp dword [eax - 0xc], 0
je 0x40e7d2
cmp byte [ebp - 0x12d0], 0
je 0x40e78f
and dword [ebp - 0x12d0], 0
push 0x4f7388
push eax
lea eax, [ebp - 0x12d0]
push eax
call fcn.004c5183
add esp, 0xc
test eax, eax
jne 0x40e7d2
cmp dword [ebp - 0x12d0], eax
je 0x40e7d2
push dword [ebp - 0x12d0]
mov ecx, dword [ebp - 0x1334]
mov eax, dword [ebp - 0x1330]
sub eax, ecx
push eax
xor eax, eax
inc eax
push eax
push ecx
call fcn.004c54cc
push dword [ebp - 0x12d0]
call fcn.004c52fe
xor eax, eax
add esp, 0x14
inc eax
mov byte [ebp - 0x12dc], al
jmp 0x40e7d2
mov eax, dword [ebp - 0x1350]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x12e4], esp
push eax
call fcn.00403806
pop ecx
mov ecx, dword [ebp - 0x12e4]
add eax, 0x10
mov dword [ecx], eax
lea eax, [ebp - 0x12cc]
push eax
call fcn.00409b22
pop ecx
pop ecx
xor ecx, ecx
movzx ecx, cl
test al, al
push 1
pop eax
cmovne ecx, eax
mov byte [ebp - 0x12dc], cl
mov ecx, dword [ebp - 0x12cc]
mov byte [ebp - 4], 0x45
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 0
lea ecx, [ebp - 0x1374]
call fcn.004538eb
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4b
call fcn.0045396e
lea eax, [ebp - 0x134c]
push eax
push str.result
lea ecx, [ebp - 0x1374]
mov byte [ebp - 4], 0x4c
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4b
call fcn.00453a94
lea eax, [ebp - 0x1350]
push eax
push eax
call fcn.0040aa3c
lea eax, [ebp - 0x1350]
push eax
lea eax, [ebp - 0x1200]
push eax
call fcn.0046c361
add esp, 0x10
push eax
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4d
call fcn.0045381b
lea eax, [ebp - 0x134c]
push eax
push str.content
lea ecx, [ebp - 0x1374]
mov byte [ebp - 4], 0x4e
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4d
call fcn.00453a94
lea ecx, [ebp - 0x1200]
mov byte [ebp - 4], 0x4b
call fcn.0040102f
lea eax, [ebp - 0x1328]
push eax
lea eax, [ebp - 0x1218]
push eax
call fcn.0046c361
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4f
call fcn.0045381b
push 0x50
pop eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x134c]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0x1374]
call fcn.00453c35
mov ecx, eax
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4f
call fcn.00453a94
lea ecx, [ebp - 0x1218]
mov byte [ebp - 4], 0x4b
call fcn.0040102f
lea eax, [ebp - 0x12ec]
push eax
lea eax, [ebp - 0x11d0]
push eax
call fcn.0046c361
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x51
call fcn.0045381b
lea eax, [ebp - 0x134c]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0x1374]
mov byte [ebp - 4], 0x52
call fcn.00453c35
mov ecx, eax
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x51
call fcn.00453a94
lea ecx, [ebp - 0x11d0]
mov byte [ebp - 4], 0x4b
call fcn.0040102f
push str.empty
lea ecx, [ebp - 0x11e8]
call fcn.00401000
push eax
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x53
call fcn.0045381b
lea eax, [ebp - 0x134c]
push eax
push str.noData
lea ecx, [ebp - 0x1374]
mov byte [ebp - 4], 0x54
call fcn.00453c35
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x53
call fcn.00453a94
lea ecx, [ebp - 0x11e8]
mov byte [ebp - 4], 0x4b
call fcn.0040102f
mov ecx, dword [ebp - 0x1320]
push str.outputFile
call fcn.00453cb9
mov ecx, eax
call fcn.00454985
test al, al
je 0x40ea8c
push dword [ebp - 0x12dc]
lea ecx, [ebp - 0x134c]
call fcn.0045396e
push str.outputFi
lea ecx, [ebp - 0x11d0]
mov byte [ebp - 4], 0x55
call fcn.00401000
push str.leResult
push eax
lea eax, [ebp - 0x11e8]
push eax
mov byte [ebp - 4], 0x56
call fcn.0040bc71
add esp, 0xc
lea ecx, [ebp - 0x134c]
push ecx
push eax
lea ecx, [ebp - 0x1374]
mov byte [ebp - 4], 0x57
call fcn.00453b46
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0x11e8]
call fcn.0040102f
lea ecx, [ebp - 0x11d0]
call fcn.0040102f
lea ecx, [ebp - 0x134c]
mov byte [ebp - 4], 0x4b
call fcn.00453a94
mov ecx, dword [ebp - 0x12d8]
lea eax, [ebp - 0x1374]
push eax
call fcn.00453717
xor eax, eax
inc eax
lea ecx, [ebp - 0x1374]
mov dword [ebp - 0x135c], eax
mov byte [ebp - 4], 0x45
call fcn.00453a94
jmp 0x40e4ec
call fcn.0040fabe
test al, al
jne 0x40eae3
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x541ad4]
test eax, eax
push 7
pop eax
cmove ecx, eax
mov dword [0x541ad4], ecx
push dword [ebp - 0x1300]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x12c5], 0
je 0x40eb04
push dword [ebp - 0x12f0]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.InternetReadFile_Failed
lea ecx, [ebp - 0x12e4]
call fcn.004017e3
push eax
push dword [ebp - 0x12d8]
mov byte [ebp - 4], 0x3f
call fcn.0040c1bd
pop ecx
pop ecx
mov ecx, dword [ebp - 0x12e4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x1334]
call fcn.0040f54f
mov ecx, dword [ebp - 0x1328]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12ec]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1314]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1304]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [edi - 0x10]
call fcn.00404fef
lea ecx, [ebx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1310]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x1308]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x130c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x12f8]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [esi - 0x10]
call fcn.00404fef
mov eax, dword [ebp - 0x12d8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c29c4
leave
ret