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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x500dfc
mov eax, dword fs:[0]
push eax
sub esp, 0xebc
mov eax, dword [0x559680]
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 + 0x10]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xe14], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0xe54], ebx
mov dword [ebp - 0xec8], ebx
mov dword [ebp - 0xe94], esi
mov dword [ebp - 0xe78], edi
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe74], 0
call fcn.004111e0
add esp, 4
test al, al
je 0x40eaf2
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe20], eax
mov eax, str.this_module_doesnt_support_file_request
mov dword [ebp - 4], 1
test eax, 0xffff0000
jne 0x40ea96
movzx esi, ax
push 0
push esi
call fcn.00402e50
add esp, 8
test eax, eax
je 0x40eaa6
push esi
push eax
lea ecx, [ebp - 0xe20]
call fcn.00406a90
jmp 0x40eaa6
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0xe20]
call fcn.004026b0
lea eax, [ebp - 0xe20]
push eax
push ebx
mov dword [ebp - 4], 2
call fcn.0040df70
add esp, 8
mov esi, dword [ebp - 0xe20]
add esi, 0xfffffff0
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40eaeb
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
jmp 0x410c89
test esi, esi
jne 0x40eb4c
push str.InternetOpen_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
push eax
push ebx
mov dword [ebp - 4], 3
call fcn.0040df70
mov edx, dword [ebp - 0xe14]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40eaeb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
jmp 0x410c89
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe28], eax
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
mov dword [ebp - 4], 4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe3c], eax
push 0x50e948
mov ecx, edi
mov byte [ebp - 4], 5
mov dword [ebp - 0xe18], 0
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe30]
push eax
call fcn.00486e10
lea eax, [ebp - 0xe18]
push eax
lea eax, [ebp - 0xe3c]
push eax
lea eax, [ebp - 0xe28]
push eax
lea eax, [ebp - 0xe30]
push eax
mov byte [ebp - 4], 6
call fcn.0040de40
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x40ecc0
call fcn.00411a60
test al, al
jne 0x40ec10
mov esi, 1
mov eax, esi
mov edx, 0x80
nop
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x40ec00
mov dword [0x55aac0], ecx
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
push eax
push ebx
mov byte [ebp - 4], 7
call fcn.0040df70
mov edx, dword [ebp - 0xe14]
add edx, 0xfffffff0
or esi, 0xffffffff
add esp, 8
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 6
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40ec5e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe30]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ec81
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40eca4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jmp 0x40eb3b
push str.redirectCheck
mov ecx, edi
mov byte [ebp - 0xe31], 0
call fcn.004675a0
test al, al
je 0x40ed07
push str.redirectCheck
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00467580
test al, al
je 0x40ed07
push str.redirectCheck
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00466ba0
mov byte [ebp - 0xe31], al
lea eax, [ebp - 0xe20]
push eax
lea eax, [ebp - 0xe0d]
push eax
mov eax, dword [ebp - 0xe30]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0xe0d], 0
mov dword [ebp - 0xe20], 0x50
call fcn.00404d60
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0040dd50
add esp, 0xc
mov ecx, edi
push str.port
call fcn.00466690
mov ecx, eax
call fcn.00467590
test al, al
je 0x40ed76
push str.port
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00466cd0
mov esi, eax
jmp 0x40ed85
mov esi, dword [ebp - 0xe18]
test esi, esi
cmove esi, dword [ebp - 0xe20]
push esi
lea eax, [ebp - 0xe28]
push eax
push dword [ebp - 0xe14]
mov byte [ebp - 0xe0e], 0
call fcn.0040dcd0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe38], eax
test ecx, ecx
jne 0x40ee84
mov eax, dword [0x55af4c]
test eax, eax
jne 0x40ede6
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x40eddd
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55af4c], eax
jmp 0x40ede2
mov eax, dword [0x55af4c]
test eax, eax
je 0x40ee0b
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0xe28]
push dword [ebp - 0xe94]
call eax
mov ecx, eax
mov dword [ebp - 0xe38], ecx
test ecx, ecx
jne 0x40ee5c
push str.InternetConnect_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
push eax
push ebx
mov byte [ebp - 4], 8
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe14]
call fcn.00401fa0
lea ecx, [ebp - 0xe30]
call fcn.00401fa0
lea ecx, [ebp - 0xe3c]
call fcn.00401fa0
lea ecx, [ebp - 0xe28]
call fcn.00401fa0
mov eax, ebx
jmp 0x410c89
mov eax, dword [ebp - 0xe8c]
test eax, eax
jne 0x40ee6f
mov byte [ebp - 0xe0e], 1
jmp 0x40ee84
push ecx
push esi
lea ecx, [ebp - 0xe28]
push ecx
push dword [ebp + 0x1c]
push eax
call fcn.004113c0
add esp, 0x14
cmp byte [ebp - 0xe31], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0xe0d], 0
mov dword [ebp - 0xe18], eax
je 0x40eeb7
or eax, 0x803080
mov dword [ebp - 0xe18], eax
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe44], eax
push str.method
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40ef34
push str.method
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
push eax
lea ecx, [ebp - 0xe44]
mov byte [ebp - 4], 0xa
call fcn.004025b0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 9
call fcn.00401fa0
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0xe40], edi
mov ebx, dword [ebp - 0xe78]
push 0x50eaf4
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40efbd
push 0x50eaf4
mov ecx, ebx
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
push eax
lea ecx, [ebp - 0xe40]
mov byte [ebp - 4], 0xc
call fcn.004025b0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0xb
call fcn.00401fa0
mov edi, dword [ebp - 0xe40]
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xe50], esi
push str.referer
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40f040
push str.referer
mov ecx, ebx
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
push eax
lea ecx, [ebp - 0xe50]
mov byte [ebp - 4], 0xe
call fcn.004025b0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0xd
call fcn.00401fa0
mov esi, dword [ebp - 0xe50]
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0xe48], ebx
mov ecx, dword [ebp - 0xe78]
push str.acceptTypes
mov byte [ebp - 4], 0xf
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40f0cb
mov ecx, dword [ebp - 0xe78]
push str.acceptTypes
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
push eax
lea ecx, [ebp - 0xe48]
mov byte [ebp - 4], 0x10
call fcn.004025b0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0xf
call fcn.00401fa0
mov ebx, dword [ebp - 0xe48]
xor ecx, ecx
cmp dword [ebx - 0xc], ecx
mov eax, ebx
cmove eax, ecx
mov dword [ebp - 0xec4], eax
xor eax, eax
mov dword [ebp - 0xec0], ecx
cmp dword [esi - 0xc], eax
mov ebx, esi
cmove ebx, eax
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0xe18]
mov edx, edi
cmove edx, eax
mov eax, dword [ebp - 0xe44]
xor esi, esi
cmp dword [eax - 0xc], esi
mov ecx, eax
lea eax, [ebp - 0xec4]
push eax
push ebx
push edx
push dword [ebp - 0xe3c]
cmove ecx, esi
push ecx
push dword [ebp - 0xe38]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0xe2c], eax
test eax, eax
jne 0x40f160
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
mov esi, dword [ebp - 0xe54]
push eax
push esi
mov byte [ebp - 4], 0x11
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe14]
jmp 0x410c35
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0xe4c], edi
mov ebx, dword [ebp - 0xe78]
push str.contentType
mov ecx, ebx
mov byte [ebp - 4], 0x12
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40f273
push 0x50eb28
lea ecx, [ebp - 0xe18]
call fcn.00401b70
lea eax, [ebp - 0xe18]
push eax
push str.contentType
mov ecx, ebx
mov byte [ebp - 4], 0x13
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe20]
push eax
call fcn.00486e10
add esp, 0x1c
mov esi, eax
push str.Content_Type:
lea ecx, [ebp - 0xe8c]
mov byte [ebp - 4], 0x14
call fcn.00401ae0
push esi
push eax
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0x15
call fcn.00462200
add esp, 0xc
push eax
lea eax, [ebp - 0xe14]
push eax
mov byte [ebp - 4], 0x16
call fcn.00462200
add esp, 0xc
push eax
lea ecx, [ebp - 0xe4c]
mov byte [ebp - 4], 0x17
call fcn.004025b0
lea ecx, [ebp - 0xe14]
call fcn.00401fa0
lea ecx, [ebp - 0xe94]
call fcn.00401fa0
lea ecx, [ebp - 0xe8c]
call fcn.00401fa0
lea ecx, [ebp - 0xe20]
call fcn.00401fa0
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x12
call fcn.00401fa0
mov edi, dword [ebp - 0xe4c]
push str.additionalRequestHeaders
mov ecx, ebx
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40f318
push str.additionalRequestHeaders
mov ecx, ebx
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [ebp - 0xe4c]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x18
push eax
call fcn.00402ce0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0x12
call fcn.00401fa0
mov edi, dword [ebp - 0xe4c]
lea eax, [edi - 0x10]
push eax
call fcn.00404d60
add eax, 0x10
add esp, 4
mov dword [ebp - 0xe18], eax
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x19
call fcn.00411500
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x12
call fcn.00401fa0
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xe58], esi
push str.postData
mov ecx, ebx
mov byte [ebp - 4], 0x1a
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x40f39b
push str.postData
mov ecx, ebx
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
add esp, 0x1c
push eax
lea ecx, [ebp - 0xe58]
mov byte [ebp - 4], 0x1b
call fcn.004025b0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0x1a
call fcn.00401fa0
mov esi, dword [ebp - 0xe58]
lea eax, [esi - 0x10]
push eax
mov dword [ebp - 0xe1c], eax
call fcn.00404d60
lea ebx, [eax + 0x10]
add esp, 4
mov dword [ebp - 0xe5c], ebx
mov eax, dword [esi - 0xc]
add eax, eax
cmp byte [ebp - 0xe31], 0
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0xe14], eax
je 0x40f404
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0xe18]
push eax
push 6
push dword [ebp - 0xe2c]
mov dword [ebp - 0xe18], 0x2710
call esi
push 4
lea eax, [ebp - 0xe18]
push eax
push 5
push dword [ebp - 0xe2c]
call esi
xor eax, eax
cmp dword [edi - 0xc], eax
mov esi, edi
cmove esi, eax
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
or eax, ecx
jge 0x40f430
push 0
lea ecx, [ebp - 0xe5c]
call fcn.00406c80
mov ebx, dword [ebp - 0xe5c]
push dword [ebp - 0xe14]
push ebx
push dword [edi - 0xc]
push esi
mov esi, dword [ebp - 0xe2c]
push esi
call fcn.0040d740
push eax
call fcn.0041c4e0
test eax, eax
jne 0x40f4df
lea eax, [ebp - 0xe18]
push eax
call fcn.004876f0
add esp, 4
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [ebp - 4], 0x1d
call esi
cmp byte [ebp - 0xe0e], 0
je 0x40f482
push dword [ebp - 0xe38]
call esi
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0xe94]
call fcn.00401ae0
lea ecx, [ebp - 0xe18]
push ecx
push eax
lea eax, [ebp - 0xe14]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00462200
mov esi, dword [ebp - 0xe54]
push eax
push esi
mov byte [ebp - 4], 0x1f
call fcn.0040df70
add esp, 0x14
lea ecx, [ebp - 0xe14]
call fcn.00401fa0
lea ecx, [ebp - 0xe94]
call fcn.00401fa0
lea ecx, [ebp - 0xe18]
jmp 0x410c14
mov esi, dword [ebp - 0xe78]
push esi
call fcn.00411380
add esp, 4
test al, al
jne 0x40f664
push dword [ebp - 0xe2c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
call fcn.00411ab0
test al, al
jne 0x40f51f
push 4
call fcn.004ded27
mov ecx, dword [0x55aac0]
add esp, 4
mov dword [eax], ecx
cmp byte [ebp - 0xe0e], 0
je 0x40f530
push dword [ebp - 0xe38]
call esi
push 0
lea ecx, [ebp - 0xe88]
call fcn.00466080
push 1
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x20
call fcn.00466180
lea eax, [ebp - 0xe70]
push eax
push str.result
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x21
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x20
call fcn.00466320
push str.no_response_needed
lea ecx, [ebp - 0xe70]
call fcn.00466040
lea eax, [ebp - 0xe70]
push eax
push str.content
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x22
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x20
call fcn.00466320
mov ecx, dword [ebp - 0xe54]
lea eax, [ebp - 0xe88]
push eax
call fcn.00465e40
lea ecx, [ebp - 0xe88]
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 0x1c
call fcn.00466320
lea ecx, [ebp - 0xe5c]
call fcn.00401fa0
lea ecx, [ebp - 0xe58]
call fcn.00401fa0
lea ecx, [ebp - 0xe4c]
call fcn.00401fa0
lea ecx, [ebp - 0xe48]
call fcn.00401fa0
lea ecx, [ebp - 0xe50]
call fcn.00401fa0
lea ecx, [ebp - 0xe40]
call fcn.00401fa0
lea ecx, [ebp - 0xe44]
call fcn.00401fa0
lea ecx, [ebp - 0xe30]
call fcn.00401fa0
lea ecx, [ebp - 0xe3c]
call fcn.00401fa0
lea ecx, [ebp - 0xe28]
call fcn.00401fa0
mov eax, dword [ebp - 0xe54]
jmp 0x410c89
push 0x400
lea eax, [ebp - 0x413]
push 0
push eax
mov byte [ebp - 0x414], 0
call fcn.004e0ad0
add esp, 0xc
mov dword [ebp - 0xeb8], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x40f6e8
push dword [ebp - 0xe2c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xe0e], 0
je 0x40f6b9
push dword [ebp - 0xe38]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0xe54]
push eax
push esi
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe14]
jmp 0x410c14
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x40f741
push dword [ebp - 0xe2c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
call fcn.00411a80
test al, al
jne 0x40f71a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x55aac0], eax
cmp byte [ebp - 0xe0e], 0
je 0x40f72b
push dword [ebp - 0xe38]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
mov byte [ebp - 4], 0x24
jmp 0x40f6cd
push 0
lea ecx, [ebp - 0xeb8]
push ecx
lea ecx, [ebp - 0x414]
push ecx
push 0x13
push dword [ebp - 0xe2c]
call eax
test eax, eax
jne 0x40f841
mov esi, dword [0x55aac0]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0xf
idiv ecx
cmp edx, 0xb
jne 0x40f7de
test esi, esi
je 0x40f7de
nop
mov ecx, esi
and ecx, 0x80000001
jns 0x40f78f
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x40f79c
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x40f7a3
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x55aac0], esi
sub ecx, 0
je 0x40f7cd
sub ecx, 2
je 0x40f7d0
dec ecx
je 0x40f7d1
jmp 0x40f7da
add esi, 2
inc esi
add esi, 2
mov dword [0x55aac0], esi
test esi, esi
jne 0x40f780
push dword [ebp - 0xe2c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
call fcn.00411a60
test al, al
jne 0x40f817
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x55aac0]
mov edx, 7
test eax, eax
cmove ecx, edx
mov dword [0x55aac0], ecx
cmp byte [ebp - 0xe0e], 0
je 0x40f828
push dword [ebp - 0xe38]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xe14]
call fcn.00401ae0
mov byte [ebp - 4], 0x25
jmp 0x40f6cd
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0xe24]
call fcn.0040c3a0
push str.acceptedStatusCodes
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.00466690
mov esi, eax
mov ecx, esi
mov dword [ebp - 0xe20], esi
call fcn.00467560
mov ecx, esi
test al, al
je 0x40f9aa
mov dword [ebp - 0xe20], 0
call fcn.00467950
test eax, eax
jle 0x40fb57
xor ecx, ecx
push ecx
mov ecx, esi
call fcn.004665f0
mov ecx, eax
call fcn.004675f0
push dword [ebp - 0xe20]
mov ecx, esi
test al, al
je 0x40f8ee
call fcn.004665f0
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe14]
push eax
call fcn.00486e10
push eax
lea eax, [ebp - 0xe24]
push eax
call fcn.00402800
add esp, 0x24
lea ecx, [ebp - 0xe14]
jmp 0x40f972
call fcn.004665f0
mov ecx, eax
call fcn.00467590
test al, al
je 0x40f98a
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe18], eax
push dword [ebp - 0xe20]
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.004665f0
mov ecx, eax
call fcn.00466cd0
push eax
lea eax, [ebp - 0xe18]
push eax
lea eax, [ebp - 0xe8c]
push eax
call fcn.00462280
add esp, 0xc
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x26
call fcn.00401fa0
lea eax, [ebp - 0xe8c]
push eax
lea eax, [ebp - 0xe24]
push eax
call fcn.00402800
add esp, 8
lea ecx, [ebp - 0xe8c]
mov byte [ebp - 0xe0d], al
call fcn.00401fa0
cmp byte [ebp - 0xe0d], 0
jne 0x40fe47
inc dword [ebp - 0xe20]
mov ecx, esi
call fcn.00467950
mov ecx, dword [ebp - 0xe20]
cmp ecx, eax
jl 0x40f895
jmp 0x40fb57
call fcn.004675d0
test al, al
je 0x40fb3b
mov ecx, esi
mov dword [ebp - 0xe14], 0
call fcn.00467950
test eax, eax
jle 0x40fb57
xor esi, esi
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe18], eax
push esi
lea eax, [ebp - 0xe18]
push 0x50e71c
push eax
mov byte [ebp - 4], 0x28
call fcn.0040e290
mov esi, dword [ebp - 0xe18]
mov ecx, dword [ebp - 0xe20]
add esp, 0xc
push esi
call fcn.00466690
mov ecx, eax
call fcn.004675f0
mov ecx, dword [ebp - 0xe20]
push esi
test al, al
je 0x40fa60
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe98]
push eax
call fcn.00486e10
push eax
lea eax, [ebp - 0xe24]
push eax
call fcn.00402800
add esp, 0x24
lea ecx, [ebp - 0xe98]
jmp 0x40fadf
call fcn.00466690
mov ecx, eax
call fcn.00467590
test al, al
je 0x40faf3
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe8c], eax
mov ecx, dword [ebp - 0xe20]
push esi
mov byte [ebp - 4], 0x29
call fcn.00466690
mov ecx, eax
call fcn.00466cd0
push eax
lea eax, [ebp - 0xe8c]
push eax
lea eax, [ebp - 0xe94]
push eax
call fcn.00462280
add esp, 0xc
lea ecx, [ebp - 0xe8c]
call fcn.00401fa0
lea eax, [ebp - 0xe94]
push eax
lea eax, [ebp - 0xe24]
push eax
call fcn.00402800
add esp, 8
lea ecx, [ebp - 0xe94]
mov byte [ebp - 0xe0d], al
call fcn.00401fa0
cmp byte [ebp - 0xe0d], 0
jne 0x40fb24
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x26
call fcn.00401fa0
mov esi, dword [ebp - 0xe14]
mov ecx, dword [ebp - 0xe20]
inc esi
mov dword [ebp - 0xe14], esi
call fcn.00467950
cmp esi, eax
jl 0x40f9d2
jmp 0x40fb57
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x26
call fcn.00401fa0
mov al, byte [ebp - 0xe0d]
jmp 0x40fb4f
lea eax, [ebp - 0xe24]
push 0x50eba8
push eax
call fcn.00402860
add esp, 8
test al, al
jne 0x40fe47
push dword [ebp - 0xe2c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, dword [0x55aac0]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 5
idiv ecx
cmp edx, 3
jne 0x40fbee
xor esi, esi
call fcn.004dff94
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esi
movsd qword [ebp + esi*8 - 0xd30], xmm0
cmp esi, 0xa2
jb 0x40fb84
xor ecx, ecx
mov eax, 0xa1
cmp ecx, eax
jge 0x40fbdf
mov edi, edi
movsd xmm0, qword [ebp + eax*8 - 0xd28]
movsd xmm1, qword [ebp + eax*8 - 0xd30]
comisd xmm0, xmm1
jbe 0x40fbda
movsd qword [ebp + eax*8 - 0xd28], xmm1
movsd qword [ebp + eax*8 - 0xd30], xmm0
dec eax
cmp eax, ecx
jg 0x40fbb0
inc ecx
cmp ecx, 0xa2
jl 0x40fba5
mov esi, dword [0x55aac0]
lea eax, [esi + 1]
imul eax, esi
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 0xd
jne 0x40fc54
movsd xmm3, qword [0x50e600]
movsd xmm6, qword [0x50e608]
movsd xmm5, qword [0x50e5f8]
movd xmm4, esi
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x40fc3e
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x40fc24
cmp byte [ebp - 0xe0e], 0
je 0x40fc69
push dword [ebp - 0xe38]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 3
push dword [ebp - 0xe24]
lea eax, [ebp - 0xe08]
lea ecx, [ebp - 0xe0c]
mov dword [ebp - 0xe0c], eax
call fcn.00406880
push dword [ebp - 0xe0c]
mov byte [ebp - 4], 0x2a
call fcn.004e0bab
mov esi, dword [ebp - 0xe54]
push eax
push esi
call fcn.0040e0d0
mov eax, dword [ebp - 0xe0c]
lea ecx, [ebp - 0xe08]
add esp, 0xc
mov dword [ebp - 0xe74], 1
cmp eax, ecx
je 0x40fcca
push eax
call fcn.004e0005
add esp, 4
mov edx, dword [ebp - 0xe24]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1c
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40fcee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov byte [ebp - 4], 0x1a
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fd0e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe1c]
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fd2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [edi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fd4b
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe48]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fd6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe50]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fd91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe40]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fdb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe44]
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fdd7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe30]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fdfa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe3c]
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40fe1d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe28]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x410c87
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x410c87
mov ebx, dword [ebp - 0xe2c]
push 0
lea eax, [ebp - 0xea4]
push eax
push 0
push 0x16
push ebx
mov dword [ebp - 0xea4], 0
call fcn.00411bb0
mov eax, dword [0x5591b8]
add esp, 0x14
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe60], eax
mov eax, dword [ebp - 0xea4]
mov byte [ebp - 4], 0x2b
test eax, eax
je 0x40ff5a
push eax
call fcn.004ddf94
mov esi, eax
add esp, 4
test esi, esi
je 0x40ff06
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x40fed2
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40fed2
push 0
lea ecx, [ebp - 0xea4]
push ecx
push esi
push 0x16
push ebx
call eax
push esi
lea ecx, [ebp - 0xe1c]
call fcn.0040c3a0
push eax
lea ecx, [ebp - 0xe60]
mov byte [ebp - 4], 0x2c
call fcn.004025b0
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x2b
call fcn.00401fa0
push esi
call fcn.004e00c3
add esp, 4
mov esi, dword [0x55aac0]
mov ecx, 0xe
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0xb
jne 0x40ff5a
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.004ddf94
push eax
call fcn.004e00c3
add esp, 8
cmp byte [ebp - 0xe31], 0
je 0x41035c
push 0
lea ecx, [ebp - 0xe88]
call fcn.00466080
lea eax, [ebp - 0xe24]
push 0x50ebb0
push eax
mov byte [ebp - 4], 0x2d
call fcn.004028c0
add esp, 8
test al, al
je 0x410022
lea eax, [ebp - 0xe24]
push 0x50ebb8
push eax
call fcn.004028c0
add esp, 8
test al, al
je 0x410022
lea eax, [ebp - 0xe24]
push 0x50ebc0
push eax
call fcn.004028c0
add esp, 8
test al, al
je 0x410022
lea eax, [ebp - 0xe24]
push 0x50ebc8
push eax
call fcn.004028c0
add esp, 8
test al, al
je 0x410022
mov ecx, dword [ebp - 0xe54]
lea eax, [ebp - 0xe88]
push eax
call fcn.00465e40
lea ecx, [ebp - 0xe88]
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 0x2b
call fcn.00466320
lea ecx, [ebp - 0xe60]
call fcn.00401fa0
lea ecx, [ebp - 0xe24]
call fcn.00401fa0
jmp 0x40f5eb
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe2c], eax
mov eax, dword [ebp - 0xe60]
add eax, 0xfffffff0
push eax
mov byte [ebp - 4], 0x2e
call fcn.00404d60
add eax, 0x10
add esp, 4
mov dword [ebp - 0xe38], eax
lea ecx, [ebp - 0xe38]
mov byte [ebp - 4], 0x2f
call fcn.0040c210
mov esi, dword [ebp - 0xe38]
cmp dword [esi - 0xc], 0
jl 0x410300
push str.location:
push esi
call fcn.004e01b2
mov edi, eax
add esp, 8
test edi, edi
je 0x410300
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x410300
push edi
push 0x50eb28
lea ecx, [ebp - 0xe38]
call fcn.00404f10
sub eax, edi
push eax
push edi
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebp - 0xe38]
call fcn.00406b60
push eax
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x30
call fcn.004025b0
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x2f
call fcn.00401fa0
mov eax, dword [ebp - 0xe2c]
cmp dword [eax - 0xc], 0
jl 0x410300
push str.http
push eax
call fcn.004e01b2
mov edx, eax
add esp, 8
test edx, edx
je 0x410300
mov ecx, dword [ebp - 0xe2c]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x410300
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebp - 0xe2c]
call fcn.004077d0
push eax
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x31
call fcn.004025b0
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x2f
call fcn.00401fa0
mov ecx, dword [0x55aac0]
mov eax, ecx
imul eax, ecx
imul eax, ecx
and eax, 0x8000000f
jns 0x41016d
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 6
jne 0x410179
dec ecx
mov dword [0x55aac0], ecx
push 1
lea ecx, [ebp - 0xe70]
call fcn.00466180
lea eax, [ebp - 0xe70]
push eax
push str.urlRedirected
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x32
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x2f
call fcn.00466320
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0xd40]
push eax
call fcn.00486ee0
add esp, 8
push eax
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x33
call fcn.00465fa0
lea eax, [ebp - 0xe70]
push eax
push str.requestUrl
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x34
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x33
call fcn.00466320
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0x2f
call fcn.0041bef0
call fcn.00411a40
test al, al
jne 0x41022c
dec dword [0x55af3c]
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xd40]
push eax
call fcn.00486ee0
add esp, 8
push eax
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x35
call fcn.00465fa0
lea eax, [ebp - 0xe70]
push eax
push str.redirectUrl
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x36
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x35
call fcn.00466320
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0x2f
call fcn.0041bef0
mov eax, dword [ebp - 0xe24]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x4102ba
push 0
lea ecx, [ebp - 0xe24]
call fcn.00406c80
mov eax, dword [ebp - 0xe24]
push eax
call fcn.004e00a6
add esp, 4
lea ecx, [ebp - 0xe70]
push eax
call fcn.00465fe0
lea eax, [ebp - 0xe70]
push eax
push str.statusCode
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x37
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x2f
call fcn.00466320
mov ecx, dword [ebp - 0xe54]
lea eax, [ebp - 0xe88]
push eax
call fcn.00465e40
lea ecx, [ebp - 0xe38]
mov dword [ebp - 0xe74], 1
call fcn.00401fa0
lea ecx, [ebp - 0xe2c]
call fcn.00401fa0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x2b
call fcn.00466320
lea ecx, [ebp - 0xe60]
call fcn.00401fa0
lea ecx, [ebp - 0xe24]
call fcn.00401fa0
jmp 0x40f5eb
xor eax, eax
xor esi, esi
mov dword [ebp - 0xe6c], eax
mov dword [ebp - 0xe68], esi
mov dword [ebp - 0xe64], eax
mov byte [ebp - 4], 0x38
mov dword [ebp - 0xe9c], esi
lea esp, [esp]
sub esi, eax
lea ecx, [ebp - 0xe6c]
lea eax, [esi + 0x400]
push eax
call fcn.00411b30
mov eax, dword [ebp - 0xe6c]
lea ecx, [ebp - 0xe9c]
push ecx
add eax, esi
push 0x400
push eax
push ebx
mov dword [ebp - 0xe9c], 0
call fcn.0040d740
push eax
call fcn.0041c5e0
test eax, eax
je 0x410baf
mov eax, dword [ebp - 0xe9c]
add eax, esi
push eax
lea ecx, [ebp - 0xe6c]
call fcn.00411b30
cmp dword [ebp - 0xe9c], 0
je 0x4103f2
mov esi, dword [ebp - 0xe68]
mov eax, dword [ebp - 0xe6c]
jmp 0x410380
push 0x400
lea eax, [ebp - 0x817]
push 0
push eax
mov byte [ebp - 0x818], 0
call fcn.004e0ad0
add esp, 0xc
mov dword [ebp - 0xebc], 0x400
push str.Wininet.dll
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x410438
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push 0
lea eax, [ebp - 0xebc]
push eax
lea eax, [ebp - 0x818]
push eax
push 0x1d
push ebx
call esi
test eax, eax
je 0x41057e
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0xe18]
call fcn.0040c3a0
lea eax, [ebp - 0xe18]
push str.gzip
push eax
call fcn.00402860
add esp, 8
test al, al
je 0x41056f
mov dword [ebp - 0xe84], 0
mov dword [ebp - 0xe80], 0
mov dword [ebp - 0xe7c], 0
mov eax, dword [ebp - 0xe6c]
mov ecx, dword [ebp - 0xe68]
lea edx, [ebp - 0xe84]
push edx
sub ecx, eax
push ecx
push eax
mov byte [ebp - 4], 0x3b
call fcn.004118f0
add esp, 0xc
test eax, eax
jne 0x410552
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
call fcn.00411a80
test al, al
jne 0x4104fc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp byte [ebp - 0xe0e], 0
je 0x41050d
push dword [ebp - 0xe38]
call esi
push str.gzip_decompressing_error
lea ecx, [ebp - 0xe1c]
call fcn.00401ae0
mov esi, dword [ebp - 0xe54]
push eax
push esi
mov byte [ebp - 4], 0x3c
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe1c]
call fcn.00401fa0
lea ecx, [ebp - 0xe84]
call fcn.00482950
lea ecx, [ebp - 0xe18]
jmp 0x410bf3
lea eax, [ebp - 0xe84]
push eax
lea ecx, [ebp - 0xe6c]
call fcn.0040dbf0
lea ecx, [ebp - 0xe84]
call fcn.00482950
lea ecx, [ebp - 0xe18]
mov byte [ebp - 4], 0x38
call fcn.00401fa0
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
cmp byte [ebp - 0xe0e], 0
je 0x410598
push dword [ebp - 0xe38]
call esi
mov edi, dword [ebp - 0xe78]
xor bl, bl
push str.responseType
mov ecx, edi
mov byte [ebp - 0xe0d], 0
mov dword [ebp - 0xe14], ebx
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x410645
push str.responseType
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe18]
push eax
call fcn.00486e10
lea eax, [ebp - 0xe18]
push str.base64
push eax
call fcn.00402860
add esp, 0x24
test al, al
je 0x410613
mov byte [ebp - 0xe0d], 1
jmp 0x41063a
lea eax, [ebp - 0xe18]
push str.binary
push eax
call fcn.00402860
add esp, 8
movzx ebx, bl
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [ebp - 0xe14], ebx
lea ecx, [ebp - 0xe18]
call fcn.00401fa0
mov eax, dword [0x5591b8]
mov ecx, 0x5591b8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe90], eax
cmp byte [ebp - 0xe0d], 0
mov esi, dword [ebp - 0xe6c]
mov byte [ebp - 4], 0x3d
je 0x410715
mov eax, dword [ebp - 0xe68]
sub eax, esi
push eax
lea eax, [ebp - 0xe1c]
push esi
push eax
call fcn.0040bcb0
add esp, 0xc
push eax
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x3e
call fcn.004025b0
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x3d
call fcn.00401fa0
lea eax, [ebp - 0xe98]
push eax
call fcn.0040c2e0
push eax
lea eax, [ebp - 0xe90]
push eax
call fcn.00402800
add esp, 0xc
lea ecx, [ebp - 0xe98]
mov bl, al
call fcn.00401fa0
test bl, bl
je 0x4107b5
push str.Base64_encdng_error
lea ecx, [ebp - 0xe1c]
call fcn.00401ae0
mov esi, dword [ebp - 0xe54]
push eax
push esi
mov byte [ebp - 4], 0x3f
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe1c]
call fcn.00401fa0
lea ecx, [ebp - 0xe90]
jmp 0x410bf3
test bl, bl
jne 0x4107bb
mov eax, dword [ebp - 0xe68]
sub eax, esi
mov dword [ebp - 0xe1c], eax
cmp byte [eax + esi - 1], bl
je 0x41074d
inc eax
push eax
lea ecx, [ebp - 0xe6c]
call fcn.00411b30
mov esi, dword [ebp - 0xe6c]
mov eax, dword [ebp - 0xe1c]
mov byte [eax + esi], bl
mov eax, dword [ebp - 0xe68]
sub eax, esi
cmp eax, 3
jbe 0x410788
cmp byte [esi], 0xef
jne 0x410788
cmp byte [esi + 1], 0xbb
jne 0x410788
cmp byte [esi + 2], 0xbf
jne 0x410788
lea eax, [esi + 3]
push eax
push esi
lea eax, [ebp - 0xea0]
push eax
lea ecx, [ebp - 0xe6c]
call fcn.0040d5e0
mov esi, dword [ebp - 0xe6c]
push esi
lea ecx, [ebp - 0xe1c]
call fcn.00401ae0
push eax
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x40
call fcn.004025b0
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x3d
call fcn.00401fa0
jmp 0x4107bb
mov ebx, dword [ebp - 0xe14]
push str.outputFile
mov ecx, edi
mov byte [ebp - 0xe18], 0
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x4108c7
push str.outputFile
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.00466ee0
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0xe20]
push eax
call fcn.00486e10
add esp, 0x1c
mov eax, dword [ebp - 0xe20]
mov byte [ebp - 4], 0x41
cmp dword [eax - 0xc], 0
je 0x4108b8
test bl, bl
je 0x410878
push 0x50ec78
push eax
lea eax, [ebp - 0xe78]
push eax
mov dword [ebp - 0xe78], 0
call fcn.004e1b22
add esp, 0xc
test eax, eax
jne 0x4108b8
mov eax, dword [ebp - 0xe78]
test eax, eax
je 0x4108b8
push eax
mov eax, dword [ebp - 0xe68]
sub eax, esi
push eax
push 1
push esi
call fcn.004e1e6b
push dword [ebp - 0xe78]
call fcn.004e1c9d
add esp, 0x14
mov byte [ebp - 0xe18], 1
jmp 0x4108b8
mov eax, dword [ebp - 0xe90]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00404d60
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0xe20]
push eax
call fcn.0040d4e0
movzx ecx, byte [ebp - 0xe18]
add esp, 8
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0xe18], cl
lea ecx, [ebp - 0xe20]
mov byte [ebp - 4], 0x3d
call fcn.00401fa0
push 0
lea ecx, [ebp - 0xeb4]
call fcn.00466080
push 1
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x42
call fcn.00466180
lea eax, [ebp - 0xe88]
push eax
push str.result
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x43
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x42
call fcn.00466320
lea eax, [ebp - 0xe90]
push eax
push eax
call fcn.00487cf0
lea eax, [ebp - 0xe90]
push eax
lea eax, [ebp - 0xd40]
push eax
call fcn.00486ee0
add esp, 0x10
push eax
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x44
call fcn.00465fa0
lea eax, [ebp - 0xe88]
push eax
push str.content
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x45
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x44
call fcn.00466320
lea ecx, [ebp - 0xd40]
mov byte [ebp - 4], 0x42
call fcn.0041bef0
lea eax, [ebp - 0xe60]
push eax
lea eax, [ebp - 0xd88]
push eax
call fcn.00486ee0
add esp, 8
push eax
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x46
call fcn.00465fa0
lea eax, [ebp - 0xe88]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x47
call fcn.004665b0
mov ecx, eax
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x46
call fcn.00466320
lea ecx, [ebp - 0xd88]
mov byte [ebp - 4], 0x42
call fcn.0041bef0
lea eax, [ebp - 0xe24]
push eax
lea eax, [ebp - 0xd70]
push eax
call fcn.00486ee0
add esp, 8
push eax
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x48
call fcn.00465fa0
lea eax, [ebp - 0xe88]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x49
call fcn.004665b0
mov ecx, eax
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x48
call fcn.00466320
lea ecx, [ebp - 0xd70]
mov byte [ebp - 4], 0x42
call fcn.0041bef0
push str.empty
lea ecx, [ebp - 0xd58]
call fcn.00401000
push eax
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x4a
call fcn.00465fa0
lea eax, [ebp - 0xe88]
push eax
push str.noData
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x4b
call fcn.004665b0
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x4a
call fcn.00466320
lea ecx, [ebp - 0xd58]
mov byte [ebp - 4], 0x42
call fcn.0041bef0
push str.outputFile
mov ecx, edi
call fcn.00466690
mov ecx, eax
call fcn.004675f0
test al, al
je 0x410b69
push dword [ebp - 0xe18]
lea ecx, [ebp - 0xe88]
call fcn.00466180
push str.outputFi
lea ecx, [ebp - 0xd70]
mov byte [ebp - 4], 0x4c
call fcn.00401000
push str.leResult
push eax
lea eax, [ebp - 0xd58]
push eax
mov byte [ebp - 4], 0x4d
call fcn.0040d850
add esp, 0xc
lea ecx, [ebp - 0xe88]
push ecx
push eax
lea ecx, [ebp - 0xeb4]
mov byte [ebp - 4], 0x4e
call fcn.00466450
mov ecx, eax
call fcn.004663c0
lea ecx, [ebp - 0xd58]
call fcn.0041bef0
lea ecx, [ebp - 0xd70]
call fcn.0041bef0
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x42
call fcn.00466320
mov ecx, dword [ebp - 0xe54]
lea eax, [ebp - 0xeb4]
push eax
call fcn.00465e40
lea ecx, [ebp - 0xeb4]
mov dword [ebp - 0xe74], 1
mov byte [ebp - 4], 0x3d
call fcn.00466320
lea ecx, [ebp - 0xe90]
call fcn.00401fa0
lea ecx, [ebp - 0xe6c]
call fcn.00482950
jmp 0x410007
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
cmp byte [ebp - 0xe0e], 0
je 0x410bc9
push dword [ebp - 0xe38]
call esi
push str.InternetReadFile_Failed
lea ecx, [ebp - 0xe1c]
call fcn.00401ae0
mov esi, dword [ebp - 0xe54]
push eax
push esi
mov byte [ebp - 4], 0x39
call fcn.0040df70
add esp, 8
lea ecx, [ebp - 0xe1c]
call fcn.00401fa0
lea ecx, [ebp - 0xe6c]
call fcn.00482950
lea ecx, [ebp - 0xe60]
call fcn.00401fa0
lea ecx, [ebp - 0xe24]
call fcn.00401fa0
lea ecx, [ebp - 0xe5c]
call fcn.00401fa0
lea ecx, [ebp - 0xe58]
call fcn.00401fa0
lea ecx, [ebp - 0xe4c]
call fcn.00401fa0
lea ecx, [ebp - 0xe48]
call fcn.00401fa0
lea ecx, [ebp - 0xe50]
call fcn.00401fa0
lea ecx, [ebp - 0xe40]
call fcn.00401fa0
lea ecx, [ebp - 0xe44]
call fcn.00401fa0
lea ecx, [ebp - 0xe30]
call fcn.00401fa0
lea ecx, [ebp - 0xe3c]
call fcn.00401fa0
lea ecx, [ebp - 0xe28]
call fcn.00401fa0
mov eax, esi
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.004df4f4
mov esp, ebp
pop ebp
ret