Function at 0x418520
Capabilities:
Contain obfuscated stackstrings
Send data
Send http request
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5132e7
mov eax, dword fs:[0]
push eax
sub esp, 0xc4c
mov eax, dword [0x577680]
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 ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xbac], eax
mov eax, dword [ebp + 0x18]
push ebx
mov dword [ebp - 0xbf0], edi
mov dword [ebp - 0xc58], edi
mov dword [ebp - 0xc28], esi
mov dword [ebp - 0xbbc], ebx
mov dword [ebp - 0xbf8], eax
mov dword [ebp - 0xc10], 0
call fcn.0041b200
add esp, 4
test al, al
je 0x418642
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbb4], eax
mov eax, str.this_module_doesnt_support_file_request
mov dword [ebp - 4], 1
test eax, 0xffff0000
jne 0x4185e6
movzx esi, ax
push 0
push esi
call fcn.00403070
add esp, 8
test eax, eax
je 0x4185f6
push esi
push eax
lea ecx, [ebp - 0xbb4]
call fcn.00408b00
jmp 0x4185f6
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0xbb4]
call fcn.004027b0
lea eax, [ebp - 0xbb4]
push eax
push edi
mov dword [ebp - 4], 2
call fcn.00417ad0
add esp, 8
mov esi, dword [ebp - 0xbb4]
add esi, 0xfffffff0
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41863b
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
jmp 0x41a99b
test esi, esi
jne 0x41869c
push str.InternetOpen_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
push eax
push edi
mov dword [ebp - 4], 3
call fcn.00417ad0
mov edx, dword [ebp - 0xbac]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41863b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
jmp 0x41a99b
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbc4], eax
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
mov dword [ebp - 4], 4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbd0], eax
push 0x52aa48
mov ecx, ebx
mov byte [ebp - 4], 5
mov dword [ebp - 0xbb0], 0
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbc8]
push eax
call fcn.0049ac00
lea eax, [ebp - 0xbb0]
push eax
lea eax, [ebp - 0xbd0]
push eax
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0xbc8]
push eax
mov byte [ebp - 4], 6
call fcn.00417990
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x4187ea
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
push eax
push edi
mov byte [ebp - 4], 7
call fcn.00417ad0
mov edx, dword [ebp - 0xbac]
add edx, 0xfffffff0
or ebx, 0xffffffff
add esp, 8
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 6
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x418788
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbc8]
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 0x4187ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbd0]
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 0x4187ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbc4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jmp 0x41868b
push str.redirectCheck
mov ecx, ebx
mov byte [ebp - 0xbc9], 0
call fcn.00471fb0
test al, al
je 0x418831
push str.redirectCheck
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471f30
test al, al
je 0x418831
push str.redirectCheck
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.004713a0
mov byte [ebp - 0xbc9], al
lea eax, [ebp - 0xbb4]
push eax
lea eax, [ebp - 0xba5]
push eax
mov eax, dword [ebp - 0xbc8]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0xba5], 0
mov dword [ebp - 0xbb4], 0x50
call fcn.004056f0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00417810
add esp, 0xc
mov ecx, ebx
push str.port
call fcn.00470e40
mov ecx, eax
call fcn.00471f80
test al, al
je 0x4188a0
push str.port
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.004714d0
mov esi, eax
jmp 0x4188af
mov esi, dword [ebp - 0xbb0]
test esi, esi
cmove esi, dword [ebp - 0xbb4]
push esi
lea eax, [ebp - 0xbc4]
push eax
push dword [ebp - 0xbac]
mov byte [ebp - 0xba6], 0
call fcn.004176b0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xbb4], eax
test ecx, ecx
jne 0x4189ae
mov eax, dword [0x57956c]
test eax, eax
jne 0x418910
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x418907
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x57956c], eax
jmp 0x41890c
mov eax, dword [0x57956c]
test eax, eax
je 0x418935
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0xbc4]
push dword [ebp - 0xc28]
call eax
mov ecx, eax
mov dword [ebp - 0xbb4], ecx
test ecx, ecx
jne 0x418986
push str.InternetConnect_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
push eax
push edi
mov byte [ebp - 4], 8
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbac]
call fcn.004020a0
lea ecx, [ebp - 0xbc8]
call fcn.004020a0
lea ecx, [ebp - 0xbd0]
call fcn.004020a0
lea ecx, [ebp - 0xbc4]
call fcn.004020a0
mov eax, edi
jmp 0x41a99b
mov eax, dword [ebp - 0xbf8]
test eax, eax
jne 0x418999
mov byte [ebp - 0xba6], 1
jmp 0x4189ae
push ecx
push esi
lea ecx, [ebp - 0xbc4]
push ecx
push dword [ebp + 0x1c]
push eax
call fcn.0041b400
add esp, 0x14
cmp byte [ebp - 0xbc9], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0xba5], 0
mov dword [ebp - 0xbb0], eax
je 0x4189e1
or eax, 0x803080
mov dword [ebp - 0xbb0], eax
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbec], eax
push str.method
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418a5e
push str.method
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
push eax
lea ecx, [ebp - 0xbec]
mov byte [ebp - 4], 0xa
call fcn.004026b0
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 9
call fcn.004020a0
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0xbe0], edi
push str.version
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418ae1
push str.version
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
push eax
lea ecx, [ebp - 0xbe0]
mov byte [ebp - 4], 0xc
call fcn.004026b0
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 0xb
call fcn.004020a0
mov edi, dword [ebp - 0xbe0]
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xbe8], esi
push str.referer
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418b64
push str.referer
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
push eax
lea ecx, [ebp - 0xbe8]
mov byte [ebp - 4], 0xe
call fcn.004026b0
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 0xd
call fcn.004020a0
mov esi, dword [ebp - 0xbe8]
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0xbd8], ebx
mov ecx, dword [ebp - 0xbbc]
push str.acceptTypes
mov byte [ebp - 4], 0xf
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418bef
mov ecx, dword [ebp - 0xbbc]
push str.acceptTypes
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
push eax
lea ecx, [ebp - 0xbd8]
mov byte [ebp - 4], 0x10
call fcn.004026b0
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 0xf
call fcn.004020a0
mov ebx, dword [ebp - 0xbd8]
xor ecx, ecx
cmp dword [ebx - 0xc], ecx
mov dword [ebp - 0xc50], ecx
mov eax, ebx
cmove eax, ecx
mov dword [ebp - 0xc54], eax
cmp dword [esi - 0xc], ecx
mov eax, esi
cmove eax, ecx
mov dword [ebp - 0xbac], eax
xor eax, eax
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0xbb0]
mov edx, edi
cmove edx, eax
mov eax, dword [ebp - 0xbec]
xor esi, esi
cmp dword [eax - 0xc], esi
mov ecx, eax
lea eax, [ebp - 0xc54]
push eax
push dword [ebp - 0xbac]
cmove ecx, esi
push edx
push dword [ebp - 0xbd0]
push ecx
push dword [ebp - 0xbb4]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0xbf4], eax
test eax, eax
jne 0x418c8f
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
mov byte [ebp - 4], 0x11
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbac]
jmp 0x41a947
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xbdc], esi
mov edi, dword [ebp - 0xbbc]
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418da2
push 0x52ac28
lea ecx, [ebp - 0xbb0]
call fcn.00401c30
lea eax, [ebp - 0xbb0]
push eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbd4]
push eax
call fcn.0049ac00
add esp, 0x1c
mov esi, eax
push str.Content_Type:
lea ecx, [ebp - 0xbf8]
mov byte [ebp - 4], 0x14
call fcn.00401ba0
push esi
push eax
lea eax, [ebp - 0xc28]
push eax
mov byte [ebp - 4], 0x15
call fcn.0046cc80
add esp, 0xc
push eax
lea eax, [ebp - 0xbac]
push eax
mov byte [ebp - 4], 0x16
call fcn.0046cc80
add esp, 0xc
push eax
lea ecx, [ebp - 0xbdc]
mov byte [ebp - 4], 0x17
call fcn.004026b0
lea ecx, [ebp - 0xbac]
call fcn.004020a0
lea ecx, [ebp - 0xc28]
call fcn.004020a0
lea ecx, [ebp - 0xbf8]
call fcn.004020a0
lea ecx, [ebp - 0xbd4]
call fcn.004020a0
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x12
call fcn.004020a0
mov esi, dword [ebp - 0xbdc]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418e47
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [ebp - 0xbdc]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x18
push eax
call fcn.00402f00
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 0x12
call fcn.004020a0
mov esi, dword [ebp - 0xbdc]
lea eax, [esi - 0x10]
push eax
call fcn.004056f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0xbb0], eax
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x19
call fcn.0041b4d0
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x12
call fcn.004020a0
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0xbd4], edi
mov ecx, dword [ebp - 0xbbc]
push str.postData
mov byte [ebp - 4], 0x1a
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x418ed2
mov ecx, dword [ebp - 0xbbc]
push str.postData
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
add esp, 0x1c
push eax
lea ecx, [ebp - 0xbd4]
mov byte [ebp - 4], 0x1b
call fcn.004026b0
lea ecx, [ebp - 0xbac]
mov byte [ebp - 4], 0x1a
call fcn.004020a0
mov edi, dword [ebp - 0xbd4]
push edi
lea ecx, [ebp - 0xbe4]
call fcn.00401b10
cmp byte [ebp - 0xbc9], 0
mov eax, dword [edi - 0xc]
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0xbac], eax
je 0x418f2c
push 4
lea eax, [ebp - 0xbb0]
push eax
push 6
push dword [ebp - 0xbf4]
mov dword [ebp - 0xbb0], 0x2710
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0xbb0]
push eax
push 5
push dword [ebp - 0xbf4]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
xor ecx, ecx
cmp dword [esi - 0xc], ecx
mov eax, esi
cmove eax, ecx
mov dword [ebp - 0xc28], eax
mov eax, dword [ebp - 0xbe4]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x418f64
push 0
lea ecx, [ebp - 0xbe4]
call fcn.00408c80
mov eax, dword [ebp - 0xbe4]
push dword [ebp - 0xbac]
push eax
push dword [esi - 0xc]
push dword [ebp - 0xc28]
push dword [ebp - 0xbf4]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x41931d
mov eax, dword [0x578ad4]
imul eax, eax
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 3
jne 0x419005
xor ebx, ebx
nop
call fcn.004f1791
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc ebx
movsd qword [ebp + ebx*8 - 0xac8], xmm0
cmp ebx, 0x55
jb 0x418fa0
mov ebx, dword [ebp - 0xbd8]
xor ecx, ecx
mov eax, 0x54
cmp ecx, eax
jge 0x418fff
lea ecx, [ecx]
movsd xmm0, qword [ebp + eax*8 - 0xac0]
movsd xmm1, qword [ebp + eax*8 - 0xac8]
comisd xmm0, xmm1
jbe 0x418ffa
movsd qword [ebp + eax*8 - 0xac0], xmm1
movsd qword [ebp + eax*8 - 0xac8], xmm0
dec eax
cmp eax, ecx
jg 0x418fd0
inc ecx
cmp ecx, 0x55
jl 0x418fc4
lea eax, [ebp - 0xbf8]
push eax
call fcn.00414c30
add esp, 4
mov byte [ebp - 4], 0x1d
call fcn.0041bac0
test al, al
jne 0x41909d
xor esi, esi
lea edi, [ebp - 0xa40]
lea ecx, [ecx]
xor ebx, ebx
lea eax, [ebx + 1]
mov dword [ebp - 0xbb0], eax
mov eax, dword [0x578ad4]
cdq
lea ecx, [esi + 1]
idiv ecx
mov eax, dword [0x578ad4]
mov ecx, eax
sub ecx, esi
imul edx, ecx
mov dword [ebp - 0xbac], edx
cdq
idiv dword [ebp - 0xbb0]
mov ecx, dword [ebp - 0xbac]
add ecx, eax
sub ecx, ebx
push ecx
push 0x52a4e0
call fcn.004f20c4
mov ebx, dword [ebp - 0xbb0]
add esp, 8
add edi, 4
cmp ebx, 0x17
jl 0x419032
inc esi
cmp esi, 6
jl 0x419030
mov esi, dword [ebp - 0xbdc]
mov edi, dword [ebp - 0xbd4]
mov ebx, dword [ebp - 0xbd8]
push dword [ebp - 0xbf4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0xba6], 0
je 0x4190be
push dword [ebp - 0xbb4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbbc], eax
mov eax, str.HttpSendRequest_Failed_with:
mov byte [ebp - 4], 0x1e
test eax, 0xffff0000
jne 0x41910d
movzx eax, ax
push 0
push eax
call fcn.00403070
add esp, 8
test eax, eax
je 0x41911d
mov edx, str.HttpSendRequest_Failed_with:
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0xbbc]
call fcn.00408b00
jmp 0x41911d
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0xbbc]
call fcn.004027b0
lea eax, [ebp - 0xbf8]
push eax
lea eax, [ebp - 0xbbc]
push eax
lea eax, [ebp - 0xbac]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0046cc80
push eax
push dword [ebp - 0xbf0]
mov byte [ebp - 4], 0x20
call fcn.00417ad0
mov edx, dword [ebp - 0xbac]
add edx, 0xfffffff0
add esp, 0x14
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0x1f
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41917c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbbc]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1d
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4191a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbf8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1c
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4191c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbe4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1a
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4191e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419208
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419225
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [ebx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419242
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbe8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419265
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbe0]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x419288
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbec]
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4192ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbc8]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4192ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbd0]
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4192f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xbc4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x419312
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xbf0]
jmp 0x41a99b
mov ebx, dword [ebp - 0xbbc]
push ebx
call fcn.0041b3c0
add esp, 4
test al, al
jne 0x4194f8
push dword [ebp - 0xbf4]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x419353
push dword [ebp - 0xbb4]
call esi
push 0
lea ecx, [ebp - 0xc08]
call fcn.004707b0
push 1
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x21
call fcn.004708b0
lea eax, [ebp - 0xc20]
push eax
push str.result
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x22
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x21
call fcn.00470ad0
call fcn.0041ba70
test al, al
jne 0x4193d2
mov esi, dword [0x578ad4]
mov ecx, 1
cmp esi, ecx
jle 0x4193cc
lea ebx, [ebx]
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x4193c0
mov dword [0x578ad4], ecx
push str.no_response_needed
lea ecx, [ebp - 0xc20]
call fcn.00470770
lea eax, [ebp - 0xc20]
push eax
push str.content
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x23
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x21
call fcn.00470ad0
mov ecx, dword [0x578ad4]
mov edi, 7
lea esi, [ecx + 1]
mov eax, esi
imul eax, ecx
cdq
idiv edi
cmp edx, 1
jne 0x419454
sub ecx, 0
je 0x41944a
dec ecx
je 0x41943e
mov dword [0x578ad4], esi
jmp 0x419454
mov dword [0x578ad4], 0
jmp 0x419454
mov dword [0x578ad4], 2
mov ecx, dword [ebp - 0xbf0]
lea eax, [ebp - 0xc08]
push eax
call fcn.00470540
lea ecx, [ebp - 0xc08]
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0x1c
call fcn.00470ad0
lea ecx, [ebp - 0xbe4]
call fcn.004020a0
lea ecx, [ebp - 0xbd4]
call fcn.004020a0
lea ecx, [ebp - 0xbdc]
call fcn.004020a0
lea ecx, [ebp - 0xbd8]
call fcn.004020a0
lea ecx, [ebp - 0xbe8]
call fcn.004020a0
lea ecx, [ebp - 0xbe0]
call fcn.004020a0
lea ecx, [ebp - 0xbec]
call fcn.004020a0
lea ecx, [ebp - 0xbc8]
call fcn.004020a0
lea ecx, [ebp - 0xbd0]
call fcn.004020a0
lea ecx, [ebp - 0xbc4]
call fcn.004020a0
mov eax, dword [ebp - 0xbf0]
jmp 0x41a99b
push 0x400
lea eax, [ebp - 0x817]
push 0
push eax
mov byte [ebp - 0x818], 0
call fcn.004f2250
add esp, 0xc
mov dword [ebp - 0xc48], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x41957c
push dword [ebp - 0xbf4]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x41954d
push dword [ebp - 0xbb4]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
mov byte [ebp - 4], 0x24
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbac]
jmp 0x41a926
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4195ee
push dword [ebp - 0xbf4]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
call fcn.0041bb70
test al, al
jne 0x4195c4
mov eax, dword [0x578ad4]
xor esi, esi
test eax, eax
je 0x4195be
mov edi, edi
mov ecx, eax
cdq
and ecx, 1
sub eax, edx
add esi, ecx
sar eax, 1
jne 0x4195b0
mov dword [0x578ad4], esi
cmp byte [ebp - 0xba6], 0
je 0x4195d5
push dword [ebp - 0xbb4]
call edi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
mov byte [ebp - 4], 0x25
jmp 0x419561
mov esi, dword [ebp - 0xbf4]
push 0
lea ecx, [ebp - 0xc48]
push ecx
lea ecx, [ebp - 0x818]
push ecx
push 0x13
push esi
call eax
test eax, eax
jne 0x41966c
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
mov eax, dword [0x578ad4]
imul eax, eax
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0x13
jne 0x419642
push 0xff
push 0xfe
push str._d__d_n
call fcn.004f20c4
add esp, 0xc
cmp byte [ebp - 0xba6], 0
je 0x419653
push dword [ebp - 0xbb4]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0xbac]
call fcn.00401ba0
mov byte [ebp - 4], 0x26
jmp 0x419561
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.004127b0
push str.acceptedStatusCodes
mov ecx, ebx
mov byte [ebp - 4], 0x27
call fcn.00470e40
mov edi, eax
mov ecx, edi
call fcn.00471f10
mov ecx, edi
test al, al
je 0x4197b0
xor esi, esi
call fcn.00472560
test eax, eax
jle 0x41994d
push esi
mov ecx, edi
call fcn.00470da0
mov ecx, eax
call fcn.00472030
push esi
mov ecx, edi
test al, al
je 0x419704
call fcn.00470da0
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbac]
push eax
call fcn.0049ac00
push eax
lea eax, [ebp - 0xbc0]
push eax
call fcn.00402900
add esp, 0x24
lea ecx, [ebp - 0xbac]
jmp 0x419783
call fcn.00470da0
mov ecx, eax
call fcn.00471f80
test al, al
je 0x41979b
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbf8], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x28
call fcn.00470da0
mov ecx, eax
call fcn.004714d0
push eax
lea eax, [ebp - 0xbf8]
push eax
lea eax, [ebp - 0xbb0]
push eax
call fcn.0046cd00
add esp, 0xc
lea ecx, [ebp - 0xbf8]
mov byte [ebp - 4], 0x27
call fcn.004020a0
lea eax, [ebp - 0xbb0]
push eax
lea eax, [ebp - 0xbc0]
push eax
call fcn.00402900
add esp, 8
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 0xba5], al
call fcn.004020a0
cmp byte [ebp - 0xba5], 0
jne 0x4199cc
mov ecx, edi
inc esi
call fcn.00472560
cmp esi, eax
jl 0x4196b0
jmp 0x41994d
call fcn.00472000
test al, al
je 0x419935
xor esi, esi
mov ecx, edi
mov dword [ebp - 0xbac], esi
call fcn.00472560
test eax, eax
jle 0x41994d
jmp 0x4197e0
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbb0], eax
push esi
lea eax, [ebp - 0xbb0]
push 0x52a4e0
push eax
mov byte [ebp - 4], 0x29
call fcn.00417df0
mov esi, dword [ebp - 0xbb0]
add esp, 0xc
mov ecx, edi
push esi
call fcn.00470e40
mov ecx, eax
call fcn.00472030
push esi
mov ecx, edi
test al, al
je 0x419866
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbb8]
push eax
call fcn.0049ac00
push eax
lea eax, [ebp - 0xbc0]
push eax
call fcn.00402900
add esp, 0x24
lea ecx, [ebp - 0xbb8]
jmp 0x4198dd
call fcn.00470e40
mov ecx, eax
call fcn.00471f80
test al, al
je 0x4198f1
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbf8], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.00470e40
mov ecx, eax
call fcn.004714d0
push eax
lea eax, [ebp - 0xbf8]
push eax
lea eax, [ebp - 0xc28]
push eax
call fcn.0046cd00
add esp, 0xc
lea ecx, [ebp - 0xbf8]
call fcn.004020a0
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0xbc0]
push eax
call fcn.00402900
add esp, 8
lea ecx, [ebp - 0xc28]
mov byte [ebp - 0xba5], al
call fcn.004020a0
cmp byte [ebp - 0xba5], 0
jne 0x41991e
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x27
call fcn.004020a0
mov esi, dword [ebp - 0xbac]
inc esi
mov ecx, edi
mov dword [ebp - 0xbac], esi
call fcn.00472560
cmp esi, eax
jl 0x4197e0
jmp 0x41994d
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x27
call fcn.004020a0
mov al, byte [ebp - 0xba5]
jmp 0x419949
lea eax, [ebp - 0xbc0]
push 0x52aca8
push eax
call fcn.00402960
add esp, 8
test al, al
jne 0x4199cc
push dword [ebp - 0xbf4]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x41996c
push dword [ebp - 0xbb4]
call esi
push 3
push dword [ebp - 0xbc0]
lea eax, [ebp - 0xba0]
lea ecx, [ebp - 0xba4]
mov dword [ebp - 0xba4], eax
call fcn.00407240
push dword [ebp - 0xba4]
mov byte [ebp - 4], 0x2b
call fcn.004f1774
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
call fcn.00417c00
mov eax, dword [ebp - 0xba4]
lea ecx, [ebp - 0xba0]
add esp, 0xc
cmp eax, ecx
je 0x41a920
push eax
call fcn.004f1802
add esp, 4
jmp 0x41a920
mov esi, dword [ebp - 0xbf4]
push 0
lea eax, [ebp - 0xc34]
push eax
push 0
push 0x16
push esi
mov dword [ebp - 0xc34], 0
call fcn.0041bce0
mov eax, dword [0x5771f0]
add esp, 0x14
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebp - 0xc34]
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x419a87
push eax
call fcn.004ef820
mov edi, eax
add esp, 4
test edi, edi
je 0x419a87
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x419a53
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x419a53
push 0
lea ecx, [ebp - 0xc34]
push ecx
push edi
push 0x16
push esi
call eax
push edi
lea ecx, [ebp - 0xbb8]
call fcn.004127b0
push eax
lea ecx, [ebp - 0xc0c]
mov byte [ebp - 4], 0x2d
call fcn.004026b0
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x2c
call fcn.004020a0
push edi
call fcn.004f0683
add esp, 4
cmp byte [ebp - 0xbc9], 0
je 0x419e92
push 0
lea ecx, [ebp - 0xc08]
call fcn.004707b0
lea eax, [ebp - 0xbc0]
push 0x52acb0
push eax
mov byte [ebp - 4], 0x2e
call fcn.00402a20
add esp, 8
test al, al
je 0x419b4f
lea eax, [ebp - 0xbc0]
push 0x52acb8
push eax
call fcn.00402a20
add esp, 8
test al, al
je 0x419b4f
lea eax, [ebp - 0xbc0]
push 0x52acc0
push eax
call fcn.00402a20
add esp, 8
test al, al
je 0x419b4f
lea eax, [ebp - 0xbc0]
push 0x52acc8
push eax
call fcn.00402a20
add esp, 8
test al, al
je 0x419b4f
mov ecx, dword [ebp - 0xbf0]
lea eax, [ebp - 0xc08]
push eax
call fcn.00470540
lea ecx, [ebp - 0xc08]
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0x2c
call fcn.00470ad0
lea ecx, [ebp - 0xc0c]
call fcn.004020a0
lea ecx, [ebp - 0xbc0]
call fcn.004020a0
jmp 0x41947f
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xbb4], eax
mov eax, dword [ebp - 0xc0c]
add eax, 0xfffffff0
push eax
mov byte [ebp - 4], 0x2f
call fcn.004056f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0xbbc], eax
lea ecx, [ebp - 0xbbc]
mov byte [ebp - 4], 0x30
call fcn.004125c0
mov esi, dword [ebp - 0xbbc]
cmp dword [esi - 0xc], 0
jl 0x419e36
push str.location:
push esi
call fcn.004f19aa
mov edi, eax
add esp, 8
test edi, edi
je 0x419e36
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x419e36
push edi
push 0x52ac28
lea ecx, [ebp - 0xbbc]
call fcn.004058a0
sub eax, edi
push eax
push edi
lea eax, [ebp - 0xbb8]
push eax
lea ecx, [ebp - 0xbbc]
call fcn.00408bd0
push eax
lea ecx, [ebp - 0xbb4]
mov byte [ebp - 4], 0x31
call fcn.004026b0
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x30
call fcn.004020a0
mov eax, dword [ebp - 0xbb4]
cmp dword [eax - 0xc], 0
jl 0x419e36
push str.http
push eax
call fcn.004f19aa
mov edx, eax
add esp, 8
test edx, edx
je 0x419e36
mov ecx, dword [ebp - 0xbb4]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x419e36
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0xbb8]
push eax
lea ecx, [ebp - 0xbb4]
call fcn.00409910
push eax
lea ecx, [ebp - 0xbb4]
mov byte [ebp - 4], 0x32
call fcn.004026b0
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x30
call fcn.004020a0
push 1
lea ecx, [ebp - 0xc20]
call fcn.004708b0
lea eax, [ebp - 0xc20]
push eax
push str.urlRedirected
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x33
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x30
call fcn.00470ad0
lea eax, [ebp - 0xbc8]
push eax
lea eax, [ebp - 0xb08]
push eax
call fcn.0049acd0
add esp, 8
push eax
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x34
call fcn.004706a0
lea eax, [ebp - 0xc20]
push eax
push str.requestUrl
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x35
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x34
call fcn.00470ad0
lea ecx, [ebp - 0xb08]
mov byte [ebp - 4], 0x30
call fcn.004239c0
lea eax, [ebp - 0xbb4]
push eax
lea eax, [ebp - 0xad8]
push eax
call fcn.0049acd0
add esp, 8
push eax
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x36
call fcn.004706a0
lea eax, [ebp - 0xc20]
push eax
push str.redirectUrl
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x37
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x36
call fcn.00470ad0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xad8]
call fcn.004239c0
mov esi, dword [0x578ad4]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 8
jne 0x419dc8
xor edi, edi
test esi, esi
je 0x419dc2
nop
mov eax, esi
mov ecx, esi
cdq
sub eax, edx
and ecx, 1
mov esi, eax
add edi, ecx
sar esi, 1
jne 0x419db0
mov dword [0x578ad4], edi
mov eax, dword [ebp - 0xbc0]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x419df0
push 0
lea ecx, [ebp - 0xbc0]
call fcn.00408cf0
mov eax, dword [ebp - 0xbc0]
push eax
call fcn.004f18a3
add esp, 4
lea ecx, [ebp - 0xc20]
push eax
call fcn.00470710
lea eax, [ebp - 0xc20]
push eax
push str.statusCode
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x38
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x30
call fcn.00470ad0
mov ecx, dword [ebp - 0xbf0]
lea eax, [ebp - 0xc08]
push eax
call fcn.00470540
lea ecx, [ebp - 0xbbc]
mov dword [ebp - 0xc10], 1
call fcn.004020a0
lea ecx, [ebp - 0xbb4]
call fcn.004020a0
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x2c
call fcn.00470ad0
lea ecx, [ebp - 0xc0c]
call fcn.004020a0
lea ecx, [ebp - 0xbc0]
call fcn.004020a0
jmp 0x41947f
xor edi, edi
mov dword [ebp - 0xc1c], 0
mov dword [ebp - 0xc18], edi
mov dword [ebp - 0xc14], edi
mov esi, dword [0x578ad4]
mov byte [ebp - 4], 0x39
mov dword [ebp - 0xc30], edi
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x11
idiv ecx
cmp edx, 5
jne 0x419f05
xor ecx, ecx
mov edi, edi
mov eax, dword [ebp + ecx*4 - 0x96c]
add eax, dword [ebp + ecx*4 - 0x970]
add ecx, 4
add eax, dword [ebp + ecx*4 - 0x984]
add eax, dword [ebp + ecx*4 - 0x988]
imul eax, eax, 0xe6
add esi, eax
cmp ecx, 0x160
jb 0x419ed0
mov dword [0x578ad4], esi
sub edi, dword [ebp - 0xc1c]
lea ecx, [ebp - 0xc1c]
lea eax, [edi + 0x400]
push eax
call fcn.0041bc60
mov eax, dword [ebp - 0xc1c]
mov esi, dword [ebp - 0xbf4]
lea ecx, [ebp - 0xc30]
push ecx
add eax, edi
push 0x400
push eax
push esi
mov dword [ebp - 0xc30], 0
call fcn.00413c20
push eax
call fcn.00423f70
mov edx, dword [0x578ad4]
mov dword [ebp - 0xbb8], eax
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x11
idiv ecx
cmp edx, 0xe
jne 0x419f9e
mov eax, 0xe7
mov esi, 0xc9
lea ecx, [ecx]
test esi, esi
je 0x419f91
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x419f80
add eax, esi
mov esi, dword [ebp - 0xbf4]
mov dword [0x578ad4], eax
cmp dword [ebp - 0xbb8], 0
je 0x41a8c1
mov eax, dword [ebp - 0xc30]
add eax, edi
push eax
lea ecx, [ebp - 0xc1c]
call fcn.0041bc60
call fcn.0041bc30
mov esi, dword [0x578ad4]
test al, al
jne 0x419fd5
dec esi
mov dword [0x578ad4], esi
cmp dword [ebp - 0xc30], 0
je 0x419fe9
mov edi, dword [ebp - 0xc18]
jmp 0x419eba
push 0x400
lea eax, [ebp - 0x413]
push 0
push eax
mov byte [ebp - 0x414], 0
call fcn.004f2250
add esp, 0xc
mov dword [ebp - 0xc4c], 0x400
push str.Wininet.dll
xor edi, edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41a02f
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov esi, dword [ebp - 0xbf4]
push 0
lea eax, [ebp - 0xc4c]
push eax
lea eax, [ebp - 0x414]
push eax
push 0x1d
push esi
call edi
test eax, eax
je 0x41a150
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0xbb0]
call fcn.004127b0
lea eax, [ebp - 0xbb0]
push str.gzip
push eax
call fcn.00402960
add esp, 8
test al, al
je 0x41a141
mov dword [ebp - 0xc04], 0
mov dword [ebp - 0xc00], 0
mov dword [ebp - 0xbfc], 0
mov eax, dword [ebp - 0xc1c]
mov ecx, dword [ebp - 0xc18]
lea edx, [ebp - 0xc04]
push edx
sub ecx, eax
push ecx
push eax
mov byte [ebp - 4], 0x3c
call fcn.0041b920
add esp, 0xc
test eax, eax
jne 0x41a124
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x41a0df
push dword [ebp - 0xbb4]
call esi
push str.gzip_decompressing_error
lea ecx, [ebp - 0xbb8]
call fcn.00401ba0
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
mov byte [ebp - 4], 0x3d
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbb8]
call fcn.004020a0
lea ecx, [ebp - 0xc04]
call fcn.00412810
lea ecx, [ebp - 0xbb0]
jmp 0x41a905
lea eax, [ebp - 0xc04]
push eax
lea ecx, [ebp - 0xc1c]
call fcn.004175d0
lea ecx, [ebp - 0xc04]
call fcn.00412810
lea ecx, [ebp - 0xbb0]
mov byte [ebp - 4], 0x39
call fcn.004020a0
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x41a16a
push dword [ebp - 0xbb4]
call esi
push str.responseType
mov ecx, ebx
mov byte [ebp - 0xba5], 0
mov byte [ebp - 0xbb0], 0
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x41a216
push str.responseType
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbb4]
push eax
call fcn.0049ac00
lea eax, [ebp - 0xbb4]
push str.base64
push eax
call fcn.00402960
add esp, 0x24
test al, al
je 0x41a1de
mov byte [ebp - 0xba5], 1
jmp 0x41a20b
lea eax, [ebp - 0xbb4]
push str.binary
push eax
call fcn.00402960
mov ecx, dword [ebp - 0xbb0]
add esp, 8
movzx ecx, cl
test al, al
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0xbb0], ecx
lea ecx, [ebp - 0xbb4]
call fcn.004020a0
mov eax, dword [0x5771f0]
mov ecx, 0x5771f0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc24], eax
cmp byte [ebp - 0xba5], 0
mov esi, dword [ebp - 0xc1c]
mov byte [ebp - 4], 0x3e
je 0x41a4af
mov eax, dword [ebp - 0xc18]
sub eax, esi
push eax
lea eax, [ebp - 0xbb8]
push esi
push eax
call fcn.00411be0
add esp, 0xc
push eax
lea ecx, [ebp - 0xc24]
mov byte [ebp - 4], 0x3f
call fcn.004026b0
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x3e
call fcn.004020a0
mov ecx, dword [0x578ad4]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 3
jne 0x41a2b8
lea eax, [ecx + 0x19]
mov edi, 0xf4
mov edi, edi
test edi, edi
je 0x41a2b1
cdq
idiv edi
mov ecx, edi
mov eax, ecx
mov edi, edx
test ecx, ecx
jne 0x41a2a0
add eax, edi
mov dword [0x578ad4], eax
lea eax, [ebp - 0xbb8]
push eax
call fcn.00417130
push eax
lea eax, [ebp - 0xc24]
push eax
call fcn.00402900
add esp, 0xc
lea ecx, [ebp - 0xbb8]
mov bl, al
call fcn.004020a0
test bl, bl
je 0x41a31f
push str.Base64_encdng_error
lea ecx, [ebp - 0xbb8]
call fcn.00401ba0
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
mov byte [ebp - 4], 0x40
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbb8]
call fcn.004020a0
lea ecx, [ebp - 0xc24]
jmp 0x41a905
mov ecx, dword [0x578ad4]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 6
jne 0x41a35a
lea eax, [ecx + 0x5f]
mov edi, 0x6e
test edi, edi
je 0x41a353
cdq
idiv edi
mov ecx, edi
mov eax, ecx
mov edi, edx
test ecx, ecx
jne 0x41a342
add eax, edi
mov dword [0x578ad4], eax
mov ebx, dword [ebp - 0xbbc]
push str.outputFile
mov ecx, ebx
mov byte [ebp - 0xbbc], 0
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x41a5d9
call fcn.0041bae0
test al, al
jne 0x41a3ef
mov eax, dword [0x52ad80]
movq xmm0, qword [str.FICJcEZar1Koy7]
mov dword [ebp - 0xc00], eax
mov ax, word [0x52ad84]
mov word [ebp - 0xbfc], ax
mov al, byte [0x52ad86]
mov byte [ebp - 0xbfa], al
lea eax, [ebp - 0xc08]
movq qword [ebp - 0xc08], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a3c7
sub eax, edx
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ef820
push eax
call fcn.004f0683
add esp, 8
push str.outputFile
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00471820
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401010
lea eax, [ebp - 0xbb4]
push eax
call fcn.0049ac00
add esp, 0x1c
mov byte [ebp - 4], 0x42
call fcn.0041bb90
test al, al
jne 0x41a431
push 0
call dword [sym.imp.KERNEL32.dll_GetFileType]
mov eax, dword [ebp - 0xbb4]
cmp dword [eax - 0xc], 0
je 0x41a58f
cmp byte [ebp - 0xbb0], 0
je 0x41a54f
push 0x52ad88
push eax
lea eax, [ebp - 0xbb0]
push eax
mov dword [ebp - 0xbb0], 0
call fcn.004f3845
add esp, 0xc
test eax, eax
jne 0x41a58f
mov eax, dword [ebp - 0xbb0]
test eax, eax
je 0x41a58f
push eax
mov eax, dword [ebp - 0xc18]
sub eax, esi
push eax
push 1
push esi
call fcn.004f3b8e
push dword [ebp - 0xbb0]
call fcn.004f39c0
add esp, 0x14
mov byte [ebp - 0xbbc], 1
jmp 0x41a58f
cmp byte [ebp - 0xbb0], 0
jne 0x41a360
mov edi, dword [ebp - 0xc18]
sub edi, esi
cmp byte [edi + esi - 1], 0
je 0x41a4e4
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0xc1c]
call fcn.0041bc60
mov esi, dword [ebp - 0xc1c]
mov byte [edi + esi], 0
mov eax, dword [ebp - 0xc18]
sub eax, esi
cmp eax, 3
jbe 0x41a51f
cmp byte [esi], 0xef
jne 0x41a51f
cmp byte [esi + 1], 0xbb
jne 0x41a51f
cmp byte [esi + 2], 0xbf
jne 0x41a51f
lea eax, [esi + 3]
push eax
push esi
lea eax, [ebp - 0xc2c]
push eax
lea ecx, [ebp - 0xc1c]
call fcn.00413a80
mov esi, dword [ebp - 0xc1c]
push esi
lea ecx, [ebp - 0xbb8]
call fcn.00401ba0
push eax
lea ecx, [ebp - 0xc24]
mov byte [ebp - 4], 0x41
call fcn.004026b0
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x3e
call fcn.004020a0
jmp 0x41a360
mov eax, dword [ebp - 0xc24]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004056f0
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0xbb4]
push eax
call fcn.00413950
movzx ecx, byte [ebp - 0xbbc]
add esp, 8
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0xbbc], cl
mov ecx, dword [0x578ad4]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 0x11
jne 0x41a5ca
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x578ad4]
mov edx, 7
test eax, eax
cmove ecx, edx
mov dword [0x578ad4], ecx
lea ecx, [ebp - 0xbb4]
mov byte [ebp - 4], 0x3e
call fcn.004020a0
push 0
lea ecx, [ebp - 0xc44]
call fcn.004707b0
push 1
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x43
call fcn.004708b0
lea eax, [ebp - 0xc08]
push eax
push str.result
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x44
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x43
call fcn.00470ad0
lea eax, [ebp - 0xc24]
push eax
push eax
call fcn.004155c0
lea eax, [ebp - 0xc24]
push eax
lea eax, [ebp - 0xad8]
push eax
call fcn.0049acd0
add esp, 0x10
push eax
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x45
call fcn.004706a0
lea eax, [ebp - 0xc08]
push eax
push str.content
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x46
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x45
call fcn.00470ad0
lea ecx, [ebp - 0xad8]
mov byte [ebp - 4], 0x43
call fcn.004239c0
lea eax, [ebp - 0xc0c]
push eax
lea eax, [ebp - 0xb08]
push eax
call fcn.0049acd0
add esp, 8
push eax
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x47
call fcn.004706a0
lea eax, [ebp - 0xc08]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x48
call fcn.00470d60
mov ecx, eax
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x47
call fcn.00470ad0
lea ecx, [ebp - 0xb08]
mov byte [ebp - 4], 0x43
call fcn.004239c0
lea eax, [ebp - 0xbc0]
push eax
lea eax, [ebp - 0xb20]
push eax
call fcn.0049acd0
add esp, 8
push eax
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x49
call fcn.004706a0
lea eax, [ebp - 0xc08]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x4a
call fcn.00470d60
mov ecx, eax
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x49
call fcn.00470ad0
lea ecx, [ebp - 0xb20]
mov byte [ebp - 4], 0x43
call fcn.004239c0
push str.empty
lea ecx, [ebp - 0xaf0]
call fcn.00401010
push eax
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x4b
call fcn.004706a0
lea eax, [ebp - 0xc08]
push eax
push str.noData
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x4c
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x4b
call fcn.00470ad0
lea ecx, [ebp - 0xaf0]
mov byte [ebp - 4], 0x43
call fcn.004239c0
push str.outputFile
mov ecx, ebx
call fcn.00470e40
mov ecx, eax
call fcn.00472030
test al, al
je 0x41a87b
push dword [ebp - 0xbbc]
lea ecx, [ebp - 0xc08]
call fcn.004708b0
push str.outputFi
lea ecx, [ebp - 0xb20]
mov byte [ebp - 4], 0x4d
call fcn.00401010
push str.leResult
push eax
lea eax, [ebp - 0xaf0]
push eax
mov byte [ebp - 4], 0x4e
call fcn.00417230
add esp, 0xc
lea ecx, [ebp - 0xc08]
push ecx
push eax
lea ecx, [ebp - 0xc44]
mov byte [ebp - 4], 0x4f
call fcn.00470c00
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0xaf0]
call fcn.004239c0
lea ecx, [ebp - 0xb20]
call fcn.004239c0
lea ecx, [ebp - 0xc08]
mov byte [ebp - 4], 0x43
call fcn.00470ad0
mov ecx, dword [ebp - 0xbf0]
lea eax, [ebp - 0xc44]
push eax
call fcn.00470540
lea ecx, [ebp - 0xc44]
mov dword [ebp - 0xc10], 1
mov byte [ebp - 4], 0x3e
call fcn.00470ad0
lea ecx, [ebp - 0xc24]
call fcn.004020a0
lea ecx, [ebp - 0xc1c]
call fcn.00412810
jmp 0x419b34
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0xba6], 0
je 0x41a8db
push dword [ebp - 0xbb4]
call esi
push str.InternetReadFile_Failed
lea ecx, [ebp - 0xbb8]
call fcn.00401ba0
mov ebx, dword [ebp - 0xbf0]
push eax
push ebx
mov byte [ebp - 4], 0x3a
call fcn.00417ad0
add esp, 8
lea ecx, [ebp - 0xbb8]
call fcn.004020a0
lea ecx, [ebp - 0xc1c]
call fcn.00412810
lea ecx, [ebp - 0xc0c]
call fcn.004020a0
lea ecx, [ebp - 0xbc0]
call fcn.004020a0
lea ecx, [ebp - 0xbe4]
call fcn.004020a0
lea ecx, [ebp - 0xbd4]
call fcn.004020a0
lea ecx, [ebp - 0xbdc]
call fcn.004020a0
lea ecx, [ebp - 0xbd8]
call fcn.004020a0
lea ecx, [ebp - 0xbe8]
call fcn.004020a0
lea ecx, [ebp - 0xbe0]
call fcn.004020a0
lea ecx, [ebp - 0xbec]
call fcn.004020a0
lea ecx, [ebp - 0xbc8]
call fcn.004020a0
lea ecx, [ebp - 0xbd0]
call fcn.004020a0
lea ecx, [ebp - 0xbc4]
call fcn.004020a0
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.004f0cd4
mov esp, ebp
pop ebp
ret