Function at 0x425100
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime
Parse pe header
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d1412
mov eax, dword fs:[0]
push eax
sub esp, 0xc8c
mov eax, dword [0x52cc80]
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 esi, edx
mov dword [ebp - 0xc7c], esi
mov ebx, ecx
mov dword [ebp - 0xc30], ebx
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ecx, edi
mov dword [ebp - 0xc98], ebx
mov dword [ebp - 0xbec], eax
mov dword [ebp - 0xc34], edi
mov dword [ebp - 0xc08], 0
call fcn.00424280
test al, al
je 0x425213
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc30], eax
mov dword [ebp - 4], 1
mov eax, str.this_module_doesnt_support_file_request
test eax, 0xffff0000
jne 0x4251b5
movzx esi, ax
mov ecx, esi
call fcn.00401b90
test eax, eax
je 0x4251c5
push esi
push eax
lea ecx, [ebp - 0xc30]
call fcn.00402900
jmp 0x4251c5
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0xc30]
call fcn.00403540
mov dword [ebp - 4], 2
lea edx, [ebp - 0xc30]
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0xc30]
add esi, 0xfffffff0
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4262b2
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x4262b2
test esi, esi
jne 0x42526d
push str.InternetOpen_Failed
lea ecx, [ebp - 0xbec]
call fcn.004033a0
mov dword [ebp - 4], 4
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0xbec]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4262b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4262b2
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc00], eax
mov dword [ebp - 4], 7
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0c], eax
mov byte [ebp - 4], 9
push 0x5121f0
mov ecx, edi
mov dword [ebp - 0xbf0], 0
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbe8], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xc04]
call fcn.0041bb50
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xbf0]
push eax
lea eax, [ebp - 0xc0c]
push eax
lea edx, [ebp - 0xc00]
lea ecx, [ebp - 0xc04]
call fcn.00423dd0
movzx eax, al
add esp, 0x20
test eax, eax
jne 0x4253f8
mov ecx, dword [0x531d90]
mov eax, ecx
imul eax, ecx
cdq
mov esi, 0x15
idiv esi
cmp edx, 0xc
jne 0x425338
mov eax, 1
test ecx, ecx
cmove ecx, eax
mov dword [0x531d90], ecx
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0xbec]
call fcn.004033a0
mov byte [ebp - 4], 0xc
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xbec]
add edx, 0xfffffff0
or esi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x425385
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xc04]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4253a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xc0c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4253cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xc00]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x4262b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4262b2
push str.redirectCheck
mov ecx, edi
mov byte [ebp - 0xc0d], 0
call fcn.0042df10
test al, al
je 0x42543a
push str.redirectCheck
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 5
jne 0x42543a
push str.redirectCheck
mov ecx, edi
call fcn.0042dda0
mov ecx, eax
call fcn.0042d7b0
mov byte [ebp - 0xc0d], al
push ecx
mov ecx, dword [ebp - 0xc04]
mov esi, esp
lea ecx, [ecx - 0x10]
mov byte [ebp - 0xbe1], 0
mov dword [ebp - 0xbf8], 0x50
mov dword [ebp - 0xbe8], esp
mov dword [ebp - 0xc4c], esi
call fcn.004027c0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xbf8]
lea ecx, [ebp - 0xbe1]
call fcn.00424030
add esp, 4
mov ecx, edi
push str.port
call fcn.0042dda0
cmp byte [eax + 8], 1
jne 0x4254b2
push str.port
mov ecx, edi
call fcn.0042dda0
mov ecx, eax
call fcn.0042d3d0
mov esi, eax
jmp 0x4254c1
mov esi, dword [ebp - 0xbf0]
test esi, esi
cmove esi, dword [ebp - 0xbf8]
mov ecx, dword [ebp - 0xbec]
push esi
lea edx, [ebp - 0xc00]
mov byte [ebp - 0xbe2], 0
call fcn.00424120
add esp, 4
mov dword [ebp - 0xbf4], eax
mov dword [ebp - 0xbec], 0xd
test eax, eax
jne 0x4255cf
mov ecx, dword [0x532744]
test ecx, ecx
jne 0x42556f
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x425524
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
mov dword [0x532744], ecx
jmp 0x42552a
mov ecx, dword [0x532744]
mov eax, dword [0x531d90]
imul eax, eax
cdq
idiv dword [ebp - 0xbec]
cmp edx, 6
jne 0x42556b
mov eax, dword [0x531d90]
mov edx, eax
sub edx, 0
je 0x425561
dec edx
je 0x425555
inc eax
mov dword [0x531d90], eax
jmp 0x42556b
mov dword [0x531d90], 0
jmp 0x42556b
mov dword [0x531d90], 2
test ecx, ecx
je 0x425592
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0xc00]
push dword [ebp - 0xc7c]
call ecx
mov dword [ebp - 0xbf4], eax
test eax, eax
jne 0x4255c8
push str.InternetConnect_Failed
lea ecx, [ebp - 0xbec]
call fcn.004033a0
mov byte [ebp - 4], 0x13
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbec]
jmp 0x426280
mov byte [ebp - 0xbe2], 1
cmp byte [ebp - 0xc0d], 0
mov esi, 0x80400200
mov eax, 0x80600200
cmovne esi, eax
or esi, 0xc000
cmp byte [ebp - 0xbe1], 0
je 0x4255f8
or esi, 0x803080
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc24], eax
mov byte [ebp - 4], 0x18
push str.method
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x425677
push str.method
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbe8], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xbec]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0xc24]
call fcn.004025b0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xbec]
call fcn.00402550
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc2c], eax
mov byte [ebp - 4], 0x1c
push str.version
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x4256f6
push str.version
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbe8], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xbec]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0xc2c]
call fcn.004025b0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xbec]
call fcn.00402550
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc28], eax
mov byte [ebp - 4], 0x20
push str.referer
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x425775
push str.referer
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbe8], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xbec]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0xc28]
call fcn.004025b0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xbec]
call fcn.00402550
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc20], eax
mov byte [ebp - 4], 0x24
push str.acceptTypes
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x4257f4
push str.acceptTypes
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xbe8], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xbec]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0xc20]
call fcn.004025b0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xbec]
call fcn.00402550
mov eax, dword [ebp - 0xc20]
mov edx, dword [ebp - 0xc28]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
mov dword [ebp - 0xc90], ecx
cmove eax, ecx
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc94], eax
xor eax, eax
cmp dword [edx - 0xc], eax
push 1
push esi
cmove edx, eax
cmp dword [ecx - 0xc], eax
lea esi, [ebp - 0xc94]
push esi
cmove ecx, eax
mov eax, dword [ebp - 0xc24]
push edx
cmp dword [eax - 0xc], 0
push ecx
push dword [ebp - 0xc0c]
mov dword [ebp - 0xbec], 0
cmove eax, dword [ebp - 0xbec]
push eax
push dword [ebp - 0xbf4]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0xbf8], esi
test esi, esi
jne 0x4258a4
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0xbec]
call fcn.004033a0
mov byte [ebp - 4], 0x27
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xbec]
jmp 0x426244
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc14], eax
mov byte [ebp - 4], 0x29
push str.contentType
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x4259c3
push 0x5123d0
lea ecx, [ebp - 0xbf0]
call fcn.004024a0
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0xbf0]
push eax
push str.contentType
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xbe8]
call fcn.0041bb50
add esp, 0x18
mov esi, eax
mov byte [ebp - 4], 0x2c
push str.Content_Type:
lea ecx, [ebp - 0xc4c]
call fcn.004033a0
mov byte [ebp - 4], 0x2d
push esi
mov edx, eax
lea ecx, [ebp - 0xc7c]
call fcn.0041bef0
add esp, 4
mov byte [ebp - 4], 0x2e
mov edx, eax
lea ecx, [ebp - 0xbec]
call fcn.0041bef0
add esp, 4
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0xc14]
call fcn.004025b0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xbec]
call fcn.00402550
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xc7c]
call fcn.00402550
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xc4c]
call fcn.00402550
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbf0]
call fcn.00402550
mov esi, dword [ebp - 0xbf8]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x425a61
push str.additionalRequestHeaders
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x30
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbe8]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x31
mov eax, dword [eax]
lea ecx, [ebp - 0xc14]
push dword [eax - 0xc]
push eax
call fcn.0040f690
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbe8]
call fcn.00402550
lea eax, [ebp - 0xc14]
push eax
lea ecx, [ebp - 0xbf0]
call fcn.00403340
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0xbf0]
call fcn.00427420
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbf0]
call fcn.00402550
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc1c], eax
mov byte [ebp - 4], 0x34
push str.postData
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x425ae0
push str.postData
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xbe8]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0xc1c]
call fcn.004025b0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov ecx, dword [ebp - 0xc1c]
lea ecx, [ecx - 0x10]
call fcn.004027c0
add eax, 0x10
mov dword [ebp - 0xc18], eax
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0xc1c]
mov eax, dword [eax - 0xc]
add eax, eax
cmp byte [ebp - 0xc0d], 0
mov dword [ebp - 0xbe8], eax
je 0x425b46
push 4
lea eax, [ebp - 0xbf0]
push eax
push 6
push esi
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
mov dword [ebp - 0xbf0], 0x2710
call esi
push 4
lea eax, [ebp - 0xbf0]
push eax
push 5
push dword [ebp - 0xbf8]
call esi
mov eax, dword [ebp - 0xc14]
xor edx, edx
cmp dword [eax - 0xc], edx
mov ecx, eax
cmove ecx, edx
mov dword [ebp - 0xc4c], ecx
mov ecx, dword [ebp - 0xc18]
mov esi, 1
sub esi, dword [ecx - 4]
mov edx, dword [ecx - 8]
or edx, esi
jge 0x425b8a
push 0
lea ecx, [ebp - 0xc18]
call fcn.00402750
mov eax, dword [ebp - 0xc14]
mov ecx, dword [ebp - 0xc18]
push dword [ebp - 0xbe8]
push ecx
push dword [eax - 0xc]
push dword [ebp - 0xc4c]
call fcn.00421fb0
mov esi, dword [ebp - 0xbf8]
mov edx, esi
mov ecx, eax
call fcn.00434090
test eax, eax
jne 0x425c4e
lea ecx, [ebp - 0xc30]
call fcn.00420690
mov byte [ebp - 4], 0x39
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x425bdf
push dword [ebp - 0xbf4]
call esi
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0xc4c]
call fcn.004033a0
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xc30]
push ecx
mov edx, eax
lea ecx, [ebp - 0xbe8]
call fcn.0041bef0
add esp, 4
mov byte [ebp - 4], 0x3b
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0xc4c]
call fcn.00402550
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xc30]
jmp 0x426217
mov ecx, edi
call fcn.004241c0
test al, al
jne 0x425d66
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x425c77
push dword [ebp - 0xbf4]
call esi
mov eax, dword [ebp - 0xc58]
and eax, 0xffffff00
mov dword [ebp - 0xc58], eax
and eax, 0xfffffeff
mov dword [ebp - 0xc58], eax
mov dword [ebp - 0xc54], 0
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xc40]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0xc40], eax
mov dword [ebp - 0xc3c], 0
mov byte [ebp - 0xc48], 1
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0xc48]
push eax
push ecx
push str.result
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xc48]
call fcn.0042d0a0
push str.no_response_needed
lea ecx, [ebp - 0xc78]
call fcn.0042cdd0
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.content
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
lea eax, [ebp - 0xc60]
push eax
mov ecx, ebx
call fcn.0042cf40
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xc60]
call fcn.0042d0a0
jmp 0x42621c
push 0x400
lea eax, [ebp - 0x417]
push 0
push eax
mov byte [ebp - 0x418], 0
call fcn.004aee10
add esp, 0xc
mov dword [ebp - 0xc88], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x425dec
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x425db6
push dword [ebp - 0xbf4]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbe8]
call fcn.004033a0
mov byte [ebp - 4], 0x44
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xbe8]
jmp 0x426217
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x425e4c
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x425e16
push dword [ebp - 0xbf4]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbe8]
call fcn.004033a0
mov byte [ebp - 4], 0x45
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xbe8]
jmp 0x426217
push 0
lea ecx, [ebp - 0xc88]
push ecx
lea ecx, [ebp - 0x418]
push ecx
push 0x13
push esi
call eax
test eax, eax
jne 0x425eb5
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x425e7f
push dword [ebp - 0xbf4]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbe8]
call fcn.004033a0
mov byte [ebp - 4], 0x46
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xbe8]
jmp 0x426217
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0xbfc]
call fcn.00423070
mov byte [ebp - 4], 0x47
push str.acceptedStatusCodes
mov ecx, edi
call fcn.0042dda0
mov edi, eax
mov al, byte [edi + 8]
test al, al
je 0x426087
cmp al, 6
je 0x426087
cmp al, 7
jne 0x42606a
xor esi, esi
mov ecx, edi
mov dword [ebp - 0xbec], esi
call fcn.0042d820
test eax, eax
jle 0x42618d
jmp 0x425f10
lea ecx, [ebp - 0xbf0]
call fcn.00402440
mov byte [ebp - 4], 0x4d
push esi
lea eax, [ebp - 0xbf0]
push 0x50f2bc
push eax
call fcn.00427670
add esp, 0xc
mov ecx, edi
push dword [ebp - 0xbf0]
call fcn.0042dda0
cmp byte [eax + 8], 4
push dword [ebp - 0xbf0]
mov ecx, edi
jne 0x425fa4
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xbe8]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x4f
mov edx, eax
lea ecx, [ebp - 0xbfc]
call fcn.004175d0
mov byte [ebp - 0xbe1], al
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xbe8]
call fcn.00402550
jmp 0x426020
call fcn.0042dda0
cmp byte [eax + 8], 1
jne 0x426029
lea ecx, [ebp - 0xc4c]
call fcn.00402440
mov esi, eax
mov byte [ebp - 4], 0x50
push dword [ebp - 0xbf0]
mov ecx, edi
call fcn.0042dda0
mov ecx, eax
call fcn.0042d3d0
push eax
mov edx, esi
lea ecx, [ebp - 0xc7c]
call fcn.0041be60
add esp, 4
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xc4c]
call fcn.00402550
lea edx, [ebp - 0xc7c]
lea ecx, [ebp - 0xbfc]
call fcn.004175d0
mov byte [ebp - 0xbe1], al
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0xc7c]
call fcn.00402550
mov esi, dword [ebp - 0xbec]
cmp byte [ebp - 0xbe1], 0
jne 0x426053
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xbf0]
call fcn.00402550
inc esi
mov ecx, edi
mov dword [ebp - 0xbec], esi
call fcn.0042d820
cmp esi, eax
jl 0x425f10
jmp 0x42618d
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xbf0]
call fcn.00402550
mov al, byte [ebp - 0xbe1]
jmp 0x42607a
mov edx, 0x512450
lea ecx, [ebp - 0xbfc]
call fcn.00417620
test al, al
jne 0x4262d6
jmp 0x42618d
mov ecx, edi
xor ebx, ebx
call fcn.0042d820
test eax, eax
jle 0x426187
push ebx
mov ecx, edi
call fcn.0042dad0
cmp byte [eax + 8], 4
push ebx
mov ecx, edi
jne 0x4260f9
call fcn.0042dad0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xbe8]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x49
mov edx, eax
lea ecx, [ebp - 0xbfc]
call fcn.004175d0
mov byte [ebp - 0xbe1], al
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xbe8]
jmp 0x426165
call fcn.0042dad0
cmp byte [eax + 8], 1
jne 0x426177
lea ecx, [ebp - 0xc4c]
call fcn.00402440
mov esi, eax
mov byte [ebp - 4], 0x4a
push ebx
mov ecx, edi
call fcn.0042dad0
mov ecx, eax
call fcn.0042d3d0
push eax
mov edx, esi
lea ecx, [ebp - 0xbec]
call fcn.0041be60
add esp, 4
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xc4c]
call fcn.00402550
lea edx, [ebp - 0xbec]
lea ecx, [ebp - 0xbfc]
call fcn.004175d0
mov byte [ebp - 0xbe1], al
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xbec]
call fcn.00402550
cmp byte [ebp - 0xbe1], 0
jne 0x4262d0
mov ecx, edi
inc ebx
call fcn.0042d820
cmp ebx, eax
jl 0x426098
mov ebx, dword [ebp - 0xc30]
push dword [ebp - 0xbf8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x4261ac
push dword [ebp - 0xbf4]
call esi
push 3
push dword [ebp - 0xbfc]
lea eax, [ebp - 0xbdc]
lea ecx, [ebp - 0xbe0]
mov dword [ebp - 0xbe0], eax
call fcn.00417a50
mov byte [ebp - 4], 0x53
push dword [ebp - 0xbe0]
call fcn.004aac27
add esp, 4
mov edx, eax
mov ecx, ebx
call fcn.00423b20
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0xbe0]
lea ecx, [ebp - 0xbdc]
cmp eax, ecx
je 0x42620d
push eax
call fcn.004aa45d
add esp, 4
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xbfc]
call fcn.00402550
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xc18]
call fcn.00402550
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xc1c]
call fcn.00402550
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xc14]
call fcn.00402550
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xc20]
call fcn.00402550
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xc28]
call fcn.00402550
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xc2c]
call fcn.00402550
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc24]
call fcn.00402550
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xc04]
call fcn.00402550
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc0c]
call fcn.00402550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc00]
call fcn.00402550
mov eax, ebx
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.004a992a
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc30]
push str.Wininet.dll
mov dword [ebp - 0xc84], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x426317
push str.HttpQueryInfoW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [ebp - 0xbf8]
test eax, eax
je 0x42631d
push 0
lea ecx, [ebp - 0xc84]
push ecx
push 0
push 0x16
push esi
call eax
jmp 0x42631d
mov esi, dword [ebp - 0xbf8]
lea ecx, [ebp - 0xc38]
call fcn.00402440
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xc84]
test eax, eax
je 0x4263a7
push eax
call fcn.004a90f9
mov edi, eax
add esp, 4
test edi, edi
je 0x4263a7
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x426373
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x426373
push 0
lea ecx, [ebp - 0xc84]
push ecx
push edi
push 0x16
push esi
call eax
push edi
lea ecx, [ebp - 0xbe8]
call fcn.00423070
mov byte [ebp - 4], 0x55
push eax
lea ecx, [ebp - 0xc38]
call fcn.004025b0
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xbe8]
call fcn.00402550
push edi
call fcn.004aa18b
add esp, 4
cmp byte [ebp - 0xc0d], 0
je 0x4267f0
mov eax, dword [ebp - 0xc58]
and eax, 0xffffff00
mov dword [ebp - 0xc58], eax
and eax, 0xfffffeff
mov dword [ebp - 0xc58], eax
mov dword [ebp - 0xc54], 0
mov byte [ebp - 4], 0x5b
mov edx, 0x512458
lea ecx, [ebp - 0xbfc]
call fcn.00417670
test al, al
je 0x426469
mov edx, 0x512460
lea ecx, [ebp - 0xbfc]
call fcn.00417670
test al, al
je 0x426469
mov edx, 0x512468
lea ecx, [ebp - 0xbfc]
call fcn.00417670
test al, al
je 0x426469
mov edx, 0x512470
lea ecx, [ebp - 0xbfc]
call fcn.00417670
test al, al
je 0x426469
lea eax, [ebp - 0xc60]
push eax
mov ecx, ebx
call fcn.0042cf40
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xc60]
call fcn.0042d0a0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xc38]
call fcn.00402550
jmp 0x42620d
lea ecx, [ebp - 0xbf4]
call fcn.00402440
mov byte [ebp - 4], 0x5c
lea eax, [ebp - 0xc38]
push eax
lea ecx, [ebp - 0xbf8]
call fcn.00403340
mov byte [ebp - 4], 0x5d
mov esi, dword [0x531d90]
mov ecx, 0x18
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0x11
jne 0x4264e5
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x141]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a90f9
add esp, 4
push eax
call fcn.004aa18b
add esp, 4
lea ecx, [ebp - 0xbf8]
call fcn.0041fef0
mov eax, dword [ebp - 0xbf8]
cmp dword [eax - 0xc], 0
jl 0x4267b5
push str.location:
push eax
call fcn.004aa70f
mov esi, eax
add esp, 8
test esi, esi
je 0x4267b5
sub esi, dword [ebp - 0xbf8]
sar esi, 1
cmp esi, 0xffffffff
je 0x4267b5
push esi
push 0x5123d0
lea ecx, [ebp - 0xbf8]
call fcn.0040e850
sub eax, esi
push eax
push esi
lea eax, [ebp - 0xbe8]
push eax
lea ecx, [ebp - 0xbf8]
call fcn.0040e890
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0xbf4]
call fcn.004025b0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov eax, dword [ebp - 0xbf4]
cmp dword [eax - 0xc], 0
jl 0x4267b5
push str.http
push eax
call fcn.004aa70f
mov edx, eax
add esp, 8
test edx, edx
je 0x4267b5
mov ecx, dword [ebp - 0xbf4]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x4267b5
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0xbe8]
push eax
lea ecx, [ebp - 0xbf4]
call fcn.00417280
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [ebp - 0xbf4]
call fcn.004025b0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov eax, dword [ebp - 0xc40]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0xc40], eax
mov dword [ebp - 0xc3c], 0
mov byte [ebp - 0xc48], 1
mov byte [ebp - 4], 0x60
lea eax, [ebp - 0xc48]
push eax
push ecx
push str.urlRedirected
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xc48]
call fcn.0042d0a0
lea edx, [ebp - 0xc04]
lea ecx, [ebp - 0xb10]
call fcn.0041bc30
mov byte [ebp - 4], 0x61
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x62
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.requestUrl
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xb10]
call fcn.004014d0
lea edx, [ebp - 0xbf4]
lea ecx, [ebp - 0xb58]
call fcn.0041bc30
mov byte [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x64
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.redirectUrl
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xb58]
call fcn.004014d0
mov eax, dword [ebp - 0xbfc]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x426724
push 0
lea ecx, [ebp - 0xbfc]
call fcn.00402750
mov eax, dword [ebp - 0xbfc]
push eax
call fcn.004aab82
mov ecx, dword [ebp - 0xc40]
and ecx, 0xffffff01
or ecx, 1
add esp, 4
mov dword [ebp - 0xc40], ecx
mov dword [ebp - 0xc3c], 0
mov dword [ebp - 0xc48], eax
mov byte [ebp - 4], 0x65
lea eax, [ebp - 0xc48]
push eax
push ecx
push str.statusCode
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xc48]
call fcn.0042d0a0
mov eax, dword [0x531d90]
imul eax, eax
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0xa
jne 0x4267b5
mov esi, 1
mov eax, esi
mov edx, 0x84
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x4267a5
mov dword [0x531d90], ecx
lea eax, [ebp - 0xc60]
push eax
mov ecx, ebx
call fcn.0042cf40
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xbf8]
call fcn.00402550
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xbf4]
call fcn.00402550
jmp 0x426446
xor eax, eax
mov dword [ebp - 0xc44], eax
xor edi, edi
mov dword [ebp - 0xc40], edi
mov dword [ebp - 0xc3c], eax
mov byte [ebp - 4], 0x66
mov dword [ebp - 0xc80], edi
sub edi, eax
lea ecx, [ebp - 0xc44]
lea eax, [edi + 0x400]
push eax
call fcn.00423110
mov ecx, dword [0x531d90]
mov dword [ebp - 0xc80], 0
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0xd
idiv ecx
cmp edx, 0xb
jne 0x4268bb
xor esi, esi
lea esp, [esp]
call fcn.004aa2d7
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esi
movsd qword [ebp + esi*8 - 0xb00], xmm0
cmp esi, 0x5b
jb 0x426850
xor ecx, ecx
mov edi, edi
mov eax, 0x5a
cmp ecx, eax
jge 0x4268af
lea esp, [esp]
movsd xmm0, qword [ebp + eax*8 - 0xaf8]
movsd xmm1, qword [ebp + eax*8 - 0xb00]
comisd xmm0, xmm1
jbe 0x4268aa
movsd qword [ebp + eax*8 - 0xaf8], xmm1
movsd qword [ebp + eax*8 - 0xb00], xmm0
dec eax
cmp eax, ecx
jg 0x426880
inc ecx
cmp ecx, 0x5b
jl 0x426870
mov esi, dword [ebp - 0xbf8]
mov eax, dword [ebp - 0xc44]
lea ecx, [ebp - 0xc80]
push ecx
add eax, edi
push ecx
push eax
call fcn.00421fb0
mov edx, esi
mov ecx, eax
call fcn.00433c60
test eax, eax
je 0x4271fe
mov eax, dword [ebp - 0xc80]
add eax, edi
push eax
lea ecx, [ebp - 0xc44]
call fcn.00423110
cmp dword [ebp - 0xc80], 0
je 0x426910
mov edi, dword [ebp - 0xc40]
mov eax, dword [ebp - 0xc44]
jmp 0x426810
push 0x400
lea eax, [ebp - 0x81f]
push 0
push eax
mov byte [ebp - 0x820], 0
call fcn.004aee10
add esp, 0xc
mov dword [ebp - 0xc8c], 0x400
push str.Wininet.dll
xor edi, edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x426956
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push 0
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0x820]
push eax
push 0x1d
push esi
call edi
test eax, eax
je 0x426aa9
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0xbf0]
call fcn.00423070
mov byte [ebp - 4], 0x75
mov edx, str.gzip
lea ecx, [ebp - 0xbf0]
call fcn.00417620
test al, al
je 0x426a9a
mov dword [ebp - 0xc5c], 0
mov dword [ebp - 0xc58], 0
mov dword [ebp - 0xc54], 0
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0xc44]
mov edx, dword [ebp - 0xc40]
lea eax, [ebp - 0xc5c]
sub edx, ecx
push eax
call fcn.004233e0
add esp, 4
test eax, eax
jne 0x426a79
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x426a02
push dword [ebp - 0xbf4]
call esi
push str.gzip_decompressing_error
lea ecx, [ebp - 0xbe8]
call fcn.004033a0
mov byte [ebp - 4], 0x77
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0xbe8]
call fcn.00402550
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0xc5c]
call fcn.004230e0
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xbf0]
call fcn.00402550
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xc44]
call fcn.004230e0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xc38]
call fcn.00402550
jmp 0x42620d
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0xc44]
call fcn.004274a0
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0xc5c]
call fcn.004230e0
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xbf0]
call fcn.00402550
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x426ac3
push dword [ebp - 0xbf4]
call esi
mov edi, dword [ebp - 0xc34]
xor bl, bl
push str.responseType
mov ecx, edi
mov byte [ebp - 0xbe1], 0
mov dword [ebp - 0xbec], ebx
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x426b75
push str.responseType
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x78
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xbf0]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x79
mov edx, str.base64
lea ecx, [ebp - 0xbf0]
call fcn.00417620
test al, al
je 0x426b43
mov byte [ebp - 0xbe1], 1
jmp 0x426b66
mov edx, str.binary
lea ecx, [ebp - 0xbf0]
call fcn.00417620
movzx ebx, bl
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [ebp - 0xbec], ebx
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xbf0]
call fcn.00402550
mov eax, dword [0x52c6d8]
mov ecx, 0x52c6d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc64], eax
mov byte [ebp - 4], 0x7b
cmp byte [ebp - 0xbe1], 0
mov esi, dword [ebp - 0xc44]
je 0x426d26
mov eax, dword [ebp - 0xc40]
sub eax, esi
push eax
mov edx, esi
lea ecx, [ebp - 0xc34]
call fcn.0041ba10
add esp, 4
mov byte [ebp - 4], 0x7c
push eax
lea ecx, [ebp - 0xc64]
call fcn.004025b0
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xc34]
call fcn.00402550
lea ecx, [ebp - 0xbe8]
call fcn.004216d0
mov byte [ebp - 4], 0x7d
mov edx, eax
lea ecx, [ebp - 0xc64]
call fcn.004175d0
mov bl, al
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xbe8]
call fcn.00402550
test bl, bl
je 0x426dc6
push str.Base64_encdng_error
lea ecx, [ebp - 0xc34]
call fcn.004033a0
mov byte [ebp - 4], 0x7e
mov ecx, dword [ebp - 0xc30]
mov edx, eax
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xc34]
call fcn.00402550
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0xc64]
call fcn.00402550
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xc44]
call fcn.004230e0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xc38]
call fcn.00402550
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xbfc]
call fcn.00402550
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xc18]
call fcn.00402550
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xc1c]
call fcn.00402550
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xc14]
call fcn.00402550
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xc20]
call fcn.00402550
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xc28]
call fcn.00402550
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xc2c]
call fcn.00402550
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc24]
call fcn.00402550
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xc04]
call fcn.00402550
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc0c]
call fcn.00402550
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc00]
call fcn.00402550
mov eax, dword [ebp - 0xc30]
jmp 0x4262b4
test bl, bl
jne 0x426dcc
mov eax, dword [ebp - 0xc40]
sub eax, esi
mov dword [ebp - 0xc34], eax
cmp byte [eax + esi - 1], bl
je 0x426d5e
inc eax
push eax
lea ecx, [ebp - 0xc44]
call fcn.00423110
mov esi, dword [ebp - 0xc44]
mov eax, dword [ebp - 0xc34]
mov byte [eax + esi], bl
mov eax, dword [ebp - 0xc40]
sub eax, esi
cmp eax, 3
jbe 0x426d99
cmp byte [esi], 0xef
jne 0x426d99
cmp byte [esi + 1], 0xbb
jne 0x426d99
cmp byte [esi + 2], 0xbf
jne 0x426d99
lea eax, [esi + 3]
push eax
push esi
lea eax, [ebp - 0xc68]
push eax
lea ecx, [ebp - 0xc44]
call fcn.004275c0
mov esi, dword [ebp - 0xc44]
push esi
lea ecx, [ebp - 0xc34]
call fcn.004033a0
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [ebp - 0xc64]
call fcn.004025b0
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xc34]
call fcn.00402550
jmp 0x426dcc
mov ebx, dword [ebp - 0xbec]
push str.outputFile
mov ecx, edi
mov byte [ebp - 0xbf0], 0
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x426ede
push str.outputFile
mov ecx, edi
call fcn.0042dda0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc68], esp
push dword [eax]
call fcn.00401470
mov byte [ebp - 4], 0x80
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xbf4]
call fcn.0041bb50
add esp, 0x18
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0xbf4]
cmp dword [eax - 0xc], 0
je 0x426ecf
test bl, bl
je 0x426e8b
push 0x512514
push eax
lea eax, [ebp - 0xbf8]
push eax
mov dword [ebp - 0xbf8], 0
call fcn.004ac685
add esp, 0xc
test eax, eax
jne 0x426ecf
mov eax, dword [ebp - 0xbf8]
test eax, eax
je 0x426ecf
push eax
mov eax, dword [ebp - 0xc40]
sub eax, esi
push eax
push 1
push esi
call fcn.004aca43
push dword [ebp - 0xbf8]
call fcn.004aba20
add esp, 0x14
mov byte [ebp - 0xbf0], 1
jmp 0x426ecf
push ecx
lea eax, [ebp - 0xc64]
mov ecx, esp
mov dword [ebp - 0xc68], esp
push eax
call fcn.00403340
mov byte [ebp - 4], 0x82
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0xbf4]
call fcn.00422490
mov ebx, dword [ebp - 0xbf0]
add esp, 4
movzx ebx, bl
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [ebp - 0xbf0], ebx
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xbf4]
call fcn.00402550
mov eax, dword [ebp - 0xc58]
and eax, 0xffffff00
mov dword [ebp - 0xc58], eax
and eax, 0xfffffeff
mov dword [ebp - 0xc58], eax
mov dword [ebp - 0xc54], 0
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xc70]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0xc70], eax
mov dword [ebp - 0xc6c], 0
mov byte [ebp - 0xc78], 1
mov byte [ebp - 4], 0x89
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.result
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
lea edx, [ebp - 0xc64]
mov ecx, edx
call fcn.00420d70
lea edx, [ebp - 0xc64]
lea ecx, [ebp - 0xb58]
call fcn.0041bc30
mov byte [ebp - 4], 0x8a
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x8b
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.content
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xb58]
call fcn.004014d0
lea edx, [ebp - 0xc38]
lea ecx, [ebp - 0xb10]
call fcn.0041bc30
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x8d
push ecx
push str.additionalInfo
lea ecx, [ebp - 0xc60]
call fcn.0042db70
lea ecx, [ebp - 0xc78]
push ecx
push ecx
push str.headers
mov ecx, eax
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xb10]
call fcn.004014d0
lea edx, [ebp - 0xbfc]
lea ecx, [ebp - 0xb40]
call fcn.0041bc30
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x8f
push ecx
push str.additionalInfo
lea ecx, [ebp - 0xc60]
call fcn.0042db70
lea ecx, [ebp - 0xc78]
push ecx
push ecx
push str.httpCode
mov ecx, eax
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xb40]
call fcn.004014d0
push str.empty
lea ecx, [ebp - 0xb28]
call fcn.00401470
mov byte [ebp - 4], 0x90
push eax
lea ecx, [ebp - 0xc78]
call fcn.0042ce80
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0xc78]
push eax
push ecx
push str.noData
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xb28]
call fcn.004014d0
push str.outputFile
mov ecx, edi
call fcn.0042dda0
cmp byte [eax + 8], 4
jne 0x4271ce
mov eax, dword [ebp - 0xc70]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0xc70], eax
mov eax, dword [ebp - 0xbf0]
mov dword [ebp - 0xc6c], 0
mov byte [ebp - 0xc78], al
mov byte [ebp - 4], 0x92
push str.outputFi
lea ecx, [ebp - 0xb40]
call fcn.00401470
mov byte [ebp - 4], 0x93
push str.leResult
mov edx, eax
lea ecx, [ebp - 0xb28]
call fcn.00427690
add esp, 4
mov byte [ebp - 4], 0x94
cmp dword [eax + 0x14], 0x10
jb 0x427186
mov eax, dword [eax]
lea ecx, [ebp - 0xc78]
push ecx
push ecx
push eax
lea ecx, [ebp - 0xc60]
call fcn.0042db70
mov ecx, eax
call fcn.0042d170
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0xb28]
call fcn.004014d0
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0xb40]
call fcn.004014d0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0xc78]
call fcn.0042d0a0
mov ecx, dword [ebp - 0xc30]
lea eax, [ebp - 0xc60]
push eax
call fcn.0042cf40
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0xc60]
call fcn.0042d0a0
jmp 0x426c49
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xbe2], 0
je 0x427218
push dword [ebp - 0xbf4]
call esi
push str.InternetReadFile_Failed
lea ecx, [ebp - 0xc34]
call fcn.004033a0
mov byte [ebp - 4], 0x67
mov edx, eax
mov ecx, ebx
call fcn.004238e0
mov dword [ebp - 0xc08], 1
mov byte [ebp - 4], 0x66
mov edx, dword [ebp - 0xc34]
add edx, 0xfffffff0
or esi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x427265
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xc44]
test eax, eax
je 0x42729a
push eax
call fcn.004a9925
add esp, 4
mov dword [ebp - 0xc44], 0
mov dword [ebp - 0xc40], 0
mov dword [ebp - 0xc3c], 0
mov byte [ebp - 4], 0x47
mov edx, dword [ebp - 0xc38]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4272bd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0xbfc]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4272e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0xc18]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x427303
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0xc1c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x427326
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0xc14]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x427349
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0xc20]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42736c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0xc28]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42738f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xc2c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4273b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xc24]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4273d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xc04]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4273f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xc0c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42741b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4253cb