Function at 0x437420
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get disk size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cb62c
mov eax, dword fs:[0]
push eax
mov eax, 0x7884
call fcn.004aa8c0
mov eax, dword [0x524ee0]
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 - 0x77cc], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x7818], ebx
mov dword [ebp - 0x7890], ebx
mov dword [ebp - 0x7854], esi
mov dword [ebp - 0x77ec], edi
mov dword [ebp - 0x7850], eax
mov dword [ebp - 0x7844], 0
call fcn.0043a400
add esp, 4
test al, al
je 0x437546
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77dc], eax
mov eax, str.this_module_doesnt_support_file_request
mov dword [ebp - 4], 1
test eax, 0xffff0000
jne 0x4374ea
movzx esi, ax
push 0
push esi
call fcn.00403b10
add esp, 8
test eax, eax
je 0x4374fa
push esi
push eax
lea ecx, [ebp - 0x77dc]
call fcn.004074c0
jmp 0x4374fa
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0x77dc]
call fcn.0040b3b0
lea eax, [ebp - 0x77dc]
push eax
push ebx
mov dword [ebp - 4], 2
call fcn.00436810
add esp, 8
mov esi, dword [ebp - 0x77dc]
add esi, 0xfffffff0
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43753f
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
jmp 0x439d5c
test esi, esi
jne 0x4375c7
call fcn.0043acd0
test al, al
jne 0x437571
push 4
call fcn.004a834d
mov esi, eax
call fcn.004a96f9
mov dword [esi], eax
push esi
mov dword [0x526340], eax
call fcn.004a831e
add esp, 8
push str.InternetOpen_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
push eax
push ebx
mov dword [ebp - 4], 3
call fcn.00436810
mov edx, dword [ebp - 0x77cc]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43753f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
jmp 0x439d5c
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77e8], eax
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
mov dword [ebp - 4], 4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77f8], eax
push 0x4dfdcc
mov ecx, edi
mov byte [ebp - 4], 5
mov dword [ebp - 0x77d0], 0
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77f0]
push eax
call fcn.004512c0
lea eax, [ebp - 0x77d0]
push eax
lea eax, [ebp - 0x77f8]
push eax
lea eax, [ebp - 0x77e8]
push eax
lea eax, [ebp - 0x77f0]
push eax
mov byte [ebp - 4], 6
call fcn.00436570
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x437715
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
push eax
push ebx
mov byte [ebp - 4], 7
call fcn.00436810
mov edx, dword [ebp - 0x77cc]
add edx, 0xfffffff0
or esi, 0xffffffff
add esp, 8
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 6
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4376b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x77f0]
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 0x4376d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x77f8]
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 0x4376f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x77e8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jmp 0x4375b6
push str.redirectCheck
mov ecx, edi
mov byte [ebp - 0x77f1], 0
call fcn.00445a20
test al, al
je 0x43775c
push str.redirectCheck
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.004459e0
test al, al
je 0x43775c
push str.redirectCheck
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00444f90
mov byte [ebp - 0x77f1], al
lea eax, [ebp - 0x77dc]
push eax
lea eax, [ebp - 0x77d2]
push eax
mov eax, dword [ebp - 0x77f0]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0x77d2], 0
mov dword [ebp - 0x77dc], 0x50
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00436480
add esp, 0xc
mov ecx, edi
push str.port
call fcn.00444a00
mov ecx, eax
call fcn.004459f0
test al, al
je 0x4377cb
push str.port
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.004450d0
mov esi, eax
jmp 0x4377da
mov esi, dword [ebp - 0x77d0]
test esi, esi
cmove esi, dword [ebp - 0x77dc]
push esi
lea eax, [ebp - 0x77e8]
push eax
push dword [ebp - 0x77cc]
mov dword [ebp - 0x77d0], esi
mov byte [ebp - 0x77d1], 0
call fcn.00436080
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x77e0], ecx
mov dword [ebp - 0x77cc], 0x18
test ecx, ecx
jne 0x4379a9
mov eax, dword [0x527498]
test eax, eax
jne 0x43790b
call fcn.0043ac40
test al, al
jne 0x437852
mov esi, dword [0x526340]
mov ecx, 1
cmp esi, ecx
jle 0x43784c
lea esp, [esp]
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x437840
mov dword [0x526340], ecx
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [0x526340]
mov ecx, eax
lea eax, [esi + 1]
imul eax, esi
cdq
idiv dword [ebp - 0x77cc]
mov dword [ebp - 0x784c], ecx
cmp edx, 1
jne 0x4378e5
test esi, esi
je 0x4378e5
mov ecx, esi
and ecx, 0x80000001
jns 0x437890
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x43789d
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4378a4
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 [0x526340], esi
sub ecx, 0
je 0x4378ce
sub ecx, 2
je 0x4378d1
dec ecx
je 0x4378d2
jmp 0x4378db
add esi, 2
inc esi
add esi, 2
mov dword [0x526340], esi
test esi, esi
jne 0x437881
mov ecx, dword [ebp - 0x784c]
test ecx, ecx
je 0x4378fc
push str.InternetConnectW
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x527498], eax
jmp 0x437901
mov eax, dword [0x527498]
test eax, eax
je 0x437930
mov esi, dword [ebp - 0x77d0]
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0x77e8]
push dword [ebp - 0x7854]
call eax
mov ecx, eax
mov dword [ebp - 0x77e0], ecx
test ecx, ecx
jne 0x437981
push str.InternetConnect_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
push eax
push ebx
mov byte [ebp - 4], 8
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77cc]
call fcn.004210d0
lea ecx, [ebp - 0x77f0]
call fcn.004210d0
lea ecx, [ebp - 0x77f8]
call fcn.004210d0
lea ecx, [ebp - 0x77e8]
call fcn.004210d0
mov eax, ebx
jmp 0x439d5c
mov eax, dword [ebp - 0x7850]
test eax, eax
jne 0x437994
mov byte [ebp - 0x77d1], 1
jmp 0x4379a9
push ecx
push esi
lea ecx, [ebp - 0x77e8]
push ecx
push dword [ebp + 0x1c]
push eax
call fcn.0043a650
add esp, 0x14
cmp byte [ebp - 0x77f1], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0x77d2], 0
mov dword [ebp - 0x77dc], eax
je 0x4379dc
or eax, 0x803080
mov dword [ebp - 0x77dc], eax
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77d0], eax
mov dword [ebp - 0x7808], eax
push str.method
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437a6b
push str.method
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x7808]
mov byte [ebp - 4], 0xa
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 9
call fcn.004210d0
mov eax, dword [ebp - 0x7808]
mov dword [ebp - 0x77d0], eax
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x7800], ebx
push str.version
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437aee
push str.version
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x7800]
mov byte [ebp - 4], 0xc
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0xb
call fcn.004210d0
mov ebx, dword [ebp - 0x7800]
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x7804], edi
mov esi, dword [ebp - 0x77ec]
push str.referer
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437b77
push str.referer
mov ecx, esi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x7804]
mov byte [ebp - 4], 0xe
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0xd
call fcn.004210d0
mov edi, dword [ebp - 0x7804]
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x780c], esi
mov ecx, dword [ebp - 0x77ec]
push str.acceptTypes
mov byte [ebp - 4], 0xf
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437c02
mov ecx, dword [ebp - 0x77ec]
push str.acceptTypes
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x780c]
mov byte [ebp - 4], 0x10
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0xf
call fcn.004210d0
mov esi, dword [ebp - 0x780c]
xor eax, eax
cmp dword [esi - 0xc], eax
mov dword [ebp - 0x7888], eax
cmove esi, eax
mov dword [ebp - 0x788c], esi
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0x77dc]
cmove edi, eax
cmp dword [ebx - 0xc], eax
cmove ebx, eax
mov eax, dword [ebp - 0x77d0]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
cmove eax, ecx
lea ecx, [ebp - 0x788c]
push ecx
push edi
push ebx
push dword [ebp - 0x77f8]
push eax
push dword [ebp - 0x77e0]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x77dc], eax
test eax, eax
jne 0x437c8d
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
mov esi, dword [ebp - 0x7818]
push eax
push esi
mov byte [ebp - 4], 0x11
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77cc]
jmp 0x439d08
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x77fc], esi
mov edi, dword [ebp - 0x77ec]
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437da0
push 0x4e14dc
lea ecx, [ebp - 0x77d0]
call fcn.00401ff0
lea eax, [ebp - 0x77d0]
push eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x7850]
push eax
call fcn.004512c0
add esp, 0x1c
mov esi, eax
push str.Content_Type:
lea ecx, [ebp - 0x7854]
mov byte [ebp - 4], 0x14
call fcn.00420e30
push esi
push eax
lea eax, [ebp - 0x784c]
push eax
mov byte [ebp - 4], 0x15
call fcn.0043fc20
add esp, 0xc
push eax
lea eax, [ebp - 0x77cc]
push eax
mov byte [ebp - 4], 0x16
call fcn.0043fc20
add esp, 0xc
push eax
lea ecx, [ebp - 0x77fc]
mov byte [ebp - 4], 0x17
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
call fcn.004210d0
lea ecx, [ebp - 0x784c]
call fcn.004210d0
lea ecx, [ebp - 0x7854]
call fcn.004210d0
lea ecx, [ebp - 0x7850]
call fcn.004210d0
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x12
call fcn.004210d0
mov esi, dword [ebp - 0x77fc]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437e45
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [ebp - 0x77fc]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x18
push eax
call fcn.0040b920
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0x12
call fcn.004210d0
mov esi, dword [ebp - 0x77fc]
lea eax, [esi - 0x10]
push eax
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x77d0], eax
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x19
call fcn.0043a760
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x12
call fcn.004210d0
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x7810], ebx
push str.postData
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x437ec8
push str.postData
mov ecx, edi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
add esp, 0x1c
push eax
lea ecx, [ebp - 0x7810]
mov byte [ebp - 4], 0x1b
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0x1a
call fcn.004210d0
mov ebx, dword [ebp - 0x7810]
lea eax, [ebx - 0x10]
push eax
call fcn.004047d0
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x7814], edi
mov eax, dword [ebx - 0xc]
add eax, eax
cmp byte [ebp - 0x77f1], 0
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x77cc], eax
je 0x437f2b
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0x77d0]
push eax
push 6
push dword [ebp - 0x77dc]
mov dword [ebp - 0x77d0], 0x2710
call ebx
push 4
lea eax, [ebp - 0x77d0]
push eax
push 5
push dword [ebp - 0x77dc]
call ebx
xor eax, eax
cmp dword [esi - 0xc], eax
lea ebx, [esi - 0xc]
cmove esi, eax
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
or eax, ecx
jge 0x437f58
push 0
lea ecx, [ebp - 0x7814]
call fcn.004085d0
mov edi, dword [ebp - 0x7814]
push dword [ebp - 0x77cc]
push edi
push dword [ebx]
push esi
mov esi, dword [ebp - 0x77dc]
push esi
call fcn.0041cf20
push eax
call fcn.00427b20
test eax, eax
jne 0x438067
lea eax, [ebp - 0x77d0]
push eax
call fcn.00451cc0
add esp, 4
mov byte [ebp - 4], 0x1d
call fcn.00424610
test al, al
jne 0x437ff0
movd xmm4, dword [0x526340]
movsd xmm3, qword [0x4e1680]
movsd xmm6, qword [0x4e1688]
movsd xmm5, qword [0x4e1678]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
nop
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x437fda
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x437fc0
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x77d1], 0
je 0x43800a
push dword [ebp - 0x77e0]
call esi
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0x784c]
call fcn.00420e30
lea ecx, [ebp - 0x77d0]
push ecx
push eax
lea eax, [ebp - 0x77cc]
push eax
mov byte [ebp - 4], 0x1e
call fcn.0043fc20
mov esi, dword [ebp - 0x7818]
push eax
push esi
mov byte [ebp - 4], 0x1f
call fcn.00436810
add esp, 0x14
lea ecx, [ebp - 0x77cc]
call fcn.004210d0
lea ecx, [ebp - 0x784c]
call fcn.004210d0
lea ecx, [ebp - 0x77d0]
jmp 0x439ce7
mov ebx, dword [ebp - 0x77ec]
push ebx
call fcn.0043a610
add esp, 4
test al, al
jne 0x43825a
mov ecx, dword [0x526340]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 9
idiv ecx
cmp edx, 5
jne 0x4380a9
push 4
call fcn.004a834d
mov ecx, dword [0x526340]
add esp, 4
mov dword [eax], ecx
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x77d1], 0
je 0x4380c3
push dword [ebp - 0x77e0]
call esi
push 0
lea ecx, [ebp - 0x783c]
call fcn.00444480
mov eax, dword [0x526340]
imul eax, eax
cdq
mov ecx, 0x16
idiv ecx
mov byte [ebp - 4], 0x20
cmp edx, 6
jne 0x438102
mov esi, 1
mov eax, esi
mov edx, eax
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x4380f2
mov dword [0x526340], ecx
push 1
lea ecx, [ebp - 0x782c]
call fcn.00444580
lea eax, [ebp - 0x782c]
push eax
push str.result
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x21
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x20
call fcn.00444690
push str.no_response_needed
lea ecx, [ebp - 0x782c]
call fcn.00444440
lea eax, [ebp - 0x782c]
push eax
push str.content
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x22
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x20
call fcn.00444690
mov edx, dword [0x526340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 8
jne 0x4381b6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x526340], edx
mov ecx, dword [ebp - 0x7818]
lea eax, [ebp - 0x783c]
push eax
call fcn.00444240
lea ecx, [ebp - 0x783c]
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 0x1c
call fcn.00444690
lea ecx, [ebp - 0x7814]
call fcn.004210d0
lea ecx, [ebp - 0x7810]
call fcn.004210d0
lea ecx, [ebp - 0x77fc]
call fcn.004210d0
lea ecx, [ebp - 0x780c]
call fcn.004210d0
lea ecx, [ebp - 0x7804]
call fcn.004210d0
lea ecx, [ebp - 0x7800]
call fcn.004210d0
lea ecx, [ebp - 0x7808]
call fcn.004210d0
lea ecx, [ebp - 0x77f0]
call fcn.004210d0
lea ecx, [ebp - 0x77f8]
call fcn.004210d0
lea ecx, [ebp - 0x77e8]
call fcn.004210d0
mov eax, dword [ebp - 0x7818]
jmp 0x439d5c
push 0x400
lea eax, [ebp - 0x413]
push 0
push eax
mov byte [ebp - 0x414], 0
call fcn.004a9c90
add esp, 0xc
mov dword [ebp - 0x7880], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x438301
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
mov ecx, dword [0x526340]
mov eax, ecx
imul eax, ecx
cdq
mov edi, 0x11
idiv edi
cmp edx, 7
jne 0x4382c1
test ecx, ecx
mov edx, 1
cmove ecx, edx
mov dword [0x526340], ecx
cmp byte [ebp - 0x77d1], 0
je 0x4382d2
push dword [ebp - 0x77e0]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x7818]
push eax
push esi
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77cc]
jmp 0x439ce7
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x43836b
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
mov edx, dword [0x526340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x12
idiv ecx
cmp edx, 9
jne 0x438341
push 0
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp byte [ebp - 0x77d1], 0
je 0x438352
push dword [ebp - 0x77e0]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
mov byte [ebp - 4], 0x24
jmp 0x4382e6
push 0
lea ecx, [ebp - 0x7880]
push ecx
lea ecx, [ebp - 0x414]
push ecx
push 0x13
push esi
call eax
test eax, eax
jne 0x4383b7
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x77d1], 0
je 0x43839e
push dword [ebp - 0x77e0]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x77cc]
call fcn.00420e30
mov byte [ebp - 4], 0x25
jmp 0x4382e6
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x77e4]
call fcn.004284d0
push str.acceptedStatusCodes
mov ecx, ebx
mov byte [ebp - 4], 0x26
call fcn.00444a00
mov edi, eax
mov ecx, edi
call fcn.004459c0
mov ecx, edi
test al, al
je 0x4384f0
xor esi, esi
call fcn.00445dd0
test eax, eax
jle 0x438675
jmp 0x438400
push esi
mov ecx, edi
call fcn.00444960
mov ecx, eax
call fcn.00445a70
push esi
mov ecx, edi
test al, al
je 0x438451
call fcn.00444960
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
push eax
lea eax, [ebp - 0x77e4]
push eax
call fcn.0040b440
add esp, 0x24
lea ecx, [ebp - 0x77cc]
jmp 0x4384cc
call fcn.00444960
mov ecx, eax
call fcn.004459f0
test al, al
je 0x4384db
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77d0], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x27
call fcn.00444960
mov ecx, eax
call fcn.004450d0
push eax
lea eax, [ebp - 0x77d0]
push eax
lea eax, [ebp - 0x7848]
push eax
call fcn.0043fd00
add esp, 0xc
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x26
call fcn.004210d0
lea eax, [ebp - 0x7848]
push eax
lea eax, [ebp - 0x77e4]
push eax
call fcn.0040b440
add esp, 8
lea ecx, [ebp - 0x7848]
mov bl, al
call fcn.004210d0
test bl, bl
jne 0x438767
mov ecx, edi
inc esi
call fcn.00445dd0
cmp esi, eax
jl 0x438400
jmp 0x438675
call fcn.00445a50
test al, al
je 0x438659
mov ecx, edi
xor ebx, ebx
call fcn.00445dd0
test eax, eax
jle 0x438675
mov edi, edi
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77d0], eax
push ebx
lea eax, [ebp - 0x77d0]
push 0x4dfc48
push eax
mov byte [ebp - 4], 0x28
call fcn.00436b80
mov esi, dword [ebp - 0x77d0]
add esp, 0xc
mov ecx, edi
push esi
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
push esi
mov ecx, edi
test al, al
je 0x438596
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77cc]
push eax
call fcn.004512c0
push eax
lea eax, [ebp - 0x77e4]
push eax
call fcn.0040b440
add esp, 0x24
lea ecx, [ebp - 0x77cc]
jmp 0x43860d
call fcn.00444a00
mov ecx, eax
call fcn.004459f0
test al, al
je 0x438621
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7848], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x29
call fcn.00444a00
mov ecx, eax
call fcn.004450d0
push eax
lea eax, [ebp - 0x7848]
push eax
lea eax, [ebp - 0x7858]
push eax
call fcn.0043fd00
add esp, 0xc
lea ecx, [ebp - 0x7848]
call fcn.004210d0
lea eax, [ebp - 0x7858]
push eax
lea eax, [ebp - 0x77e4]
push eax
call fcn.0040b440
add esp, 8
lea ecx, [ebp - 0x7858]
mov byte [ebp - 0x77d2], al
call fcn.004210d0
cmp byte [ebp - 0x77d2], 0
jne 0x438642
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x26
call fcn.004210d0
mov ecx, edi
inc ebx
call fcn.00445dd0
cmp ebx, eax
jl 0x438510
jmp 0x438675
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x26
call fcn.004210d0
mov al, byte [ebp - 0x77d2]
jmp 0x43866d
lea eax, [ebp - 0x77e4]
push 0x4e3f7c
push eax
call fcn.0040b540
add esp, 8
test al, al
jne 0x438767
call fcn.0043abe0
test al, al
jne 0x4386e8
xor eax, eax
push 0x6ea0
push eax
mov word [ebp - 0x76bc], ax
lea eax, [ebp - 0x76ba]
push eax
call fcn.004a9c90
add esp, 0xc
xor edi, edi
xor esi, esi
xor edx, edx
test edi, edi
je 0x4386ca
test edx, edx
je 0x4386ca
lea eax, [edx + esi]
lea ecx, [edx + esi]
mov ax, word [ebp + eax*2 - 0x77aa]
inc ax
add ax, word [ebp + ecx*2 - 0x76be]
mov word [ebp + ecx*2 - 0x76bc], ax
inc edx
cmp edx, 0x77
jl 0x4386a2
add esi, 0x77
inc edi
cmp esi, 0x3751
jl 0x4386a0
movsx eax, word [ebp - 0x81c]
mov dword [0x526340], eax
push dword [ebp - 0x77dc]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x77d1], 0
je 0x438707
push dword [ebp - 0x77e0]
call esi
push 3
push dword [ebp - 0x77e4]
lea eax, [ebp - 0x779c]
lea ecx, [ebp - 0x77a0]
mov dword [ebp - 0x77a0], eax
call fcn.0042fc30
push dword [ebp - 0x77a0]
mov byte [ebp - 4], 0x2a
call fcn.004aaa74
mov esi, dword [ebp - 0x7818]
push eax
push esi
call fcn.00436920
mov eax, dword [ebp - 0x77a0]
lea ecx, [ebp - 0x779c]
add esp, 0xc
cmp eax, ecx
je 0x439ce1
push eax
call fcn.004a976a
add esp, 4
jmp 0x439ce1
mov edi, dword [ebp - 0x77dc]
push 0
lea eax, [ebp - 0x785c]
push eax
push 0
push 0x16
push edi
mov dword [ebp - 0x785c], 0
call fcn.0043ad00
mov eax, dword [0x524ab0]
add esp, 0x14
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x781c], eax
mov ecx, dword [ebp - 0x785c]
mov byte [ebp - 4], 0x2b
test ecx, ecx
je 0x438862
mov esi, dword [0x526340]
mov eax, esi
imul eax, esi
cdq
mov ebx, 0x12
idiv ebx
cmp edx, 5
jne 0x4387f1
xor ebx, ebx
test esi, esi
je 0x4387eb
mov eax, esi
mov ecx, esi
cdq
sub eax, edx
and ecx, 1
mov esi, eax
add ebx, ecx
sar esi, 1
jne 0x4387d3
mov ecx, dword [ebp - 0x785c]
mov dword [0x526340], ebx
push ecx
call fcn.004a7aa0
mov esi, eax
add esp, 4
test esi, esi
je 0x438862
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x43882e
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x43882e
push 0
lea ecx, [ebp - 0x785c]
push ecx
push esi
push 0x16
push edi
call eax
push esi
lea ecx, [ebp - 0x77cc]
call fcn.004284d0
push eax
lea ecx, [ebp - 0x781c]
mov byte [ebp - 4], 0x2c
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0x2b
call fcn.004210d0
push esi
call fcn.004a98f0
add esp, 4
cmp byte [ebp - 0x77f1], 0
je 0x438e6c
mov esi, dword [0x526340]
mov eax, esi
imul eax, esi
imul eax, esi
cdq
mov ecx, 9
idiv ecx
cmp edx, 5
jne 0x438913
xor edx, edx
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x438890
mov dword [0x526340], esi
push 0
lea ecx, [ebp - 0x783c]
call fcn.00444480
lea eax, [ebp - 0x77e4]
push 0x4e3f84
push eax
mov byte [ebp - 4], 0x2d
call fcn.0040b5a0
add esp, 8
test al, al
je 0x4389e1
lea eax, [ebp - 0x77e4]
push 0x4e3f8c
push eax
call fcn.0040b5a0
add esp, 8
test al, al
je 0x4389e1
lea eax, [ebp - 0x77e4]
push 0x4e3f94
push eax
call fcn.0040b5a0
add esp, 8
test al, al
je 0x4389e1
lea eax, [ebp - 0x77e4]
push 0x4e3f9c
push eax
call fcn.0040b5a0
add esp, 8
test al, al
je 0x4389e1
call fcn.0043abe0
test al, al
jne 0x43899b
inc dword [0x526340]
mov ecx, dword [ebp - 0x7818]
lea eax, [ebp - 0x783c]
push eax
call fcn.00444240
lea ecx, [ebp - 0x783c]
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 0x2b
call fcn.00444690
lea ecx, [ebp - 0x781c]
call fcn.004210d0
lea ecx, [ebp - 0x77e4]
call fcn.004210d0
jmp 0x4381e1
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x77ec], eax
mov eax, dword [ebp - 0x781c]
add eax, 0xfffffff0
push eax
mov byte [ebp - 4], 0x2e
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x77e0], eax
lea ecx, [ebp - 0x77e0]
mov byte [ebp - 4], 0x2f
call fcn.0040bea0
mov esi, dword [0x526340]
mov ecx, 0x15
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0x12
jne 0x438ac7
xor edx, edx
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x438a44
mov dword [0x526340], esi
mov esi, dword [ebp - 0x77e0]
cmp dword [esi - 0xc], 0
jl 0x438e10
push str.location:
push esi
call fcn.004a9f2f
mov edi, eax
add esp, 8
test edi, edi
je 0x438e10
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x438e10
push edi
push 0x4e14dc
lea ecx, [ebp - 0x77e0]
call fcn.0040bc80
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x77cc]
push eax
lea ecx, [ebp - 0x77e0]
call fcn.00422810
push eax
lea ecx, [ebp - 0x77ec]
mov byte [ebp - 4], 0x30
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0x2f
call fcn.004210d0
call fcn.0043ab10
mov esi, dword [0x526340]
test al, al
jne 0x438bda
xor edx, edx
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x438b57
mov dword [0x526340], esi
mov eax, dword [ebp - 0x77ec]
cmp dword [eax - 0xc], 0
jl 0x438dcc
push str.http
push eax
call fcn.004a9f2f
mov edx, eax
add esp, 8
test edx, edx
je 0x438dc6
mov ecx, dword [ebp - 0x77ec]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x438dc6
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0x77cc]
push eax
lea ecx, [ebp - 0x77ec]
call fcn.0040c1b0
push eax
lea ecx, [ebp - 0x77ec]
mov byte [ebp - 4], 0x31
call fcn.00402ab0
lea ecx, [ebp - 0x77cc]
mov byte [ebp - 4], 0x2f
call fcn.004210d0
push 1
lea ecx, [ebp - 0x782c]
call fcn.00444580
lea eax, [ebp - 0x782c]
push eax
push str.urlRedirected
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x32
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x2f
call fcn.00444690
lea eax, [ebp - 0x77f0]
push eax
lea eax, [ebp - 0x7704]
push eax
call fcn.00451390
add esp, 8
push eax
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x33
call fcn.004443a0
lea eax, [ebp - 0x782c]
push eax
push str.requestUrl
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x34
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x33
call fcn.00444690
lea ecx, [ebp - 0x7704]
mov byte [ebp - 4], 0x2f
call fcn.00401060
lea eax, [ebp - 0x77ec]
push eax
lea eax, [ebp - 0x771c]
push eax
call fcn.00451390
add esp, 8
push eax
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x35
call fcn.004443a0
lea eax, [ebp - 0x782c]
push eax
push str.redirectUrl
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x36
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x35
call fcn.00444690
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x771c]
call fcn.00401060
mov eax, dword [ebp - 0x77e4]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x438d7e
push 0
lea ecx, [ebp - 0x77e4]
call fcn.004085d0
mov eax, dword [ebp - 0x77e4]
push eax
call fcn.004aaa57
add esp, 4
lea ecx, [ebp - 0x782c]
push eax
call fcn.004443e0
lea eax, [ebp - 0x782c]
push eax
push str.statusCode
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x37
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x782c]
mov byte [ebp - 4], 0x2f
call fcn.00444690
jmp 0x438e10
mov esi, dword [0x526340]
call fcn.0043aa50
test al, al
jne 0x438e10
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.004a7aa0
push eax
call fcn.004a98f0
add esp, 8
mov ecx, dword [ebp - 0x7818]
lea eax, [ebp - 0x783c]
push eax
call fcn.00444240
lea ecx, [ebp - 0x77e0]
mov dword [ebp - 0x7844], 1
call fcn.004210d0
lea ecx, [ebp - 0x77ec]
call fcn.004210d0
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x2b
call fcn.00444690
lea ecx, [ebp - 0x781c]
call fcn.004210d0
lea ecx, [ebp - 0x77e4]
call fcn.004210d0
jmp 0x4381e1
xor esi, esi
mov dword [ebp - 0x7828], 0
mov dword [ebp - 0x7824], esi
mov dword [ebp - 0x7820], esi
mov ebx, dword [0x526340]
mov byte [ebp - 4], 0x38
mov dword [ebp - 0x7860], esi
call fcn.00431310
test al, al
jne 0x439079
mov eax, ebx
mov dword [ebp - 0x77d0], 0
and eax, 0x80000001
jns 0x438eb9
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x7858], eax
mov eax, ebx
cdq
mov ecx, 3
idiv ecx
mov eax, ebx
mov dword [ebp - 0x7848], edx
and eax, 0x80000003
jns 0x438edd
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x7868], eax
mov eax, ebx
cdq
mov ecx, 5
idiv ecx
mov eax, ebx
mov ecx, 6
mov dword [ebp - 0x7864], edx
cdq
idiv ecx
mov eax, ebx
mov ecx, 7
mov dword [ebp - 0x786c], edx
cdq
idiv ecx
mov eax, ebx
mov dword [ebp - 0x7850], edx
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x438f21
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x7854], eax
mov eax, ebx
cdq
mov ecx, 9
idiv ecx
mov eax, ebx
mov ecx, 0xa
lea edi, [ebp - 0x7793]
mov dword [ebp - 0x784c], edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x77d8], eax
mov eax, ebx
cdq
idiv ecx
mov eax, dword [ebp - 0x77d0]
mov dword [ebp - 0x77cc], edx
mov edx, dword [ebp - 0x77d8]
mov cl, bl
sub cl, al
mov al, cl
imul byte [ebp - 0x7858]
imul bl
mov word [edi - 1], 0
mov byte [edi + 1], al
mov al, cl
imul dl
imul byte [ebp - 0x7858]
mov byte [edi + 2], al
mov al, cl
imul byte [ebp - 0x7848]
imul bl
mov byte [edi + 3], al
mov al, cl
imul dl
imul byte [ebp - 0x7848]
mov byte [edi + 4], al
mov al, cl
imul byte [ebp - 0x7868]
imul bl
mov byte [edi + 5], al
mov al, cl
imul dl
imul byte [ebp - 0x7868]
mov byte [edi + 6], al
mov al, cl
imul byte [ebp - 0x7864]
imul bl
mov byte [edi + 7], al
mov al, cl
imul dl
imul byte [ebp - 0x7864]
mov byte [edi + 8], al
mov al, cl
imul byte [ebp - 0x786c]
imul bl
mov byte [edi + 9], al
mov al, cl
imul dl
imul byte [ebp - 0x786c]
mov byte [edi + 0xa], al
mov al, cl
imul byte [ebp - 0x7850]
imul bl
mov byte [edi + 0xb], al
mov al, cl
imul dl
imul byte [ebp - 0x7850]
mov byte [edi + 0xc], al
mov al, cl
imul byte [ebp - 0x7854]
imul bl
mov byte [edi + 0xd], al
mov al, cl
imul dl
imul byte [ebp - 0x7854]
mov byte [edi + 0xe], al
mov al, byte [ebp - 0x784c]
imul cl
imul bl
mov byte [edi + 0xf], al
mov al, byte [ebp - 0x784c]
imul cl
imul dl
mov byte [edi + 0x10], al
mov al, cl
imul byte [ebp - 0x77cc]
imul bl
mov byte [edi + 0x11], al
mov al, cl
imul byte [ebp - 0x77cc]
imul dl
mov byte [edi + 0x12], al
mov eax, dword [ebp - 0x77d0]
inc eax
mov dword [ebp - 0x77d0], eax
lea edi, [edi + 0x14]
cmp eax, 6
jl 0x438f66
mov edi, dword [ebp - 0x77dc]
sub esi, dword [ebp - 0x7828]
lea ecx, [ebp - 0x7828]
lea eax, [esi + 0x400]
push eax
call fcn.00429930
mov eax, dword [ebp - 0x7828]
lea ecx, [ebp - 0x7860]
push ecx
add eax, esi
push 0x400
push eax
push edi
mov dword [ebp - 0x7860], 0
call fcn.0041cf20
push eax
call fcn.00427c60
test eax, eax
je 0x439c47
mov eax, dword [ebp - 0x7860]
add eax, esi
push eax
lea ecx, [ebp - 0x7828]
call fcn.00429930
call fcn.0043aa20
test al, al
jne 0x439102
mov edx, 1
mov eax, edx
mov ecx, 0x58
lea ecx, [ecx]
dec ecx
lea ebx, [eax + edx]
lea edx, [eax]
mov eax, ebx
jns 0x4390f0
mov dword [0x526340], ebx
jmp 0x439108
mov ebx, dword [0x526340]
cmp dword [ebp - 0x7860], 0
je 0x43911c
mov esi, dword [ebp - 0x7824]
jmp 0x438e94
push 0x400
lea eax, [ebp - 0x817]
push 0
push eax
mov byte [ebp - 0x818], 0
call fcn.004a9c90
add esp, 0xc
mov dword [ebp - 0x7884], 0x400
push str.Wininet.dll
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x4391f9
call fcn.00424610
test al, al
jne 0x439177
mov eax, dword [0x526340]
test eax, eax
mov edx, 1
cmove eax, edx
mov dword [0x526340], eax
push str.HttpQueryInfoA
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [0x526340]
mov ebx, eax
lea ecx, [esi + 1]
imul ecx, esi
and ecx, 0x80000001
jns 0x43919e
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, 1
jne 0x4391de
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.004a7aa0
push eax
call fcn.004a98f0
add esp, 8
call fcn.0043a9f0
test al, al
jne 0x4391f9
push 4
call fcn.004a834d
mov ecx, dword [0x526340]
add esp, 4
mov dword [eax], ecx
push 0
lea eax, [ebp - 0x7884]
push eax
lea eax, [ebp - 0x818]
push eax
push 0x1d
push edi
call ebx
test eax, eax
je 0x439453
mov esi, dword [0x526340]
mov ecx, 0x15
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0xb
jne 0x439291
test esi, esi
je 0x439291
mov ecx, esi
and ecx, 0x80000001
jns 0x439242
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x43924f
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x439256
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 [0x526340], esi
sub ecx, 0
je 0x439280
sub ecx, 2
je 0x439283
dec ecx
je 0x439284
jmp 0x43928d
add esi, 2
inc esi
add esi, 2
mov dword [0x526340], esi
test esi, esi
jne 0x439233
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x77d0]
call fcn.004284d0
lea eax, [ebp - 0x77d0]
push str.gzip
push eax
call fcn.0040b540
add esp, 8
test al, al
je 0x439444
mov dword [ebp - 0x7838], 0
mov dword [ebp - 0x7834], 0
mov dword [ebp - 0x7830], 0
mov eax, dword [ebp - 0x7828]
mov ecx, dword [ebp - 0x7824]
lea edx, [ebp - 0x7838]
push edx
sub ecx, eax
push ecx
push eax
mov byte [ebp - 4], 0x3b
call fcn.0043a840
add esp, 0xc
test eax, eax
jne 0x4393cd
push edi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
mov esi, dword [0x526340]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 0xb
jne 0x439354
push 4
call fcn.004a834d
mov esi, eax
call fcn.004a96f9
mov dword [esi], eax
push esi
mov dword [0x526340], eax
call fcn.004a831e
mov esi, dword [0x526340]
add esp, 8
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 0xb
jne 0x439377
call fcn.004a96f9
mov dword [0x526340], eax
cmp byte [ebp - 0x77d1], 0
je 0x439388
push dword [ebp - 0x77e0]
call edi
push str.gzip_decompressing_error
lea ecx, [ebp - 0x77d8]
call fcn.00420e30
mov esi, dword [ebp - 0x7818]
push eax
push esi
mov byte [ebp - 4], 0x3c
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77d8]
call fcn.004210d0
lea ecx, [ebp - 0x7838]
call fcn.00435f70
lea ecx, [ebp - 0x77d0]
jmp 0x439cc6
lea eax, [ebp - 0x7838]
push eax
lea ecx, [ebp - 0x7828]
call fcn.00435fa0
mov esi, dword [0x526340]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 1
jne 0x439439
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.004a7aa0
push eax
call fcn.004a98f0
add esp, 8
lea ecx, [ebp - 0x7838]
call fcn.00435f70
lea ecx, [ebp - 0x77d0]
mov byte [ebp - 4], 0x38
call fcn.004210d0
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
cmp byte [ebp - 0x77d1], 0
je 0x43946d
push dword [ebp - 0x77e0]
call esi
mov esi, dword [ebp - 0x77ec]
xor bl, bl
push str.responseType
mov ecx, esi
mov byte [ebp - 0x77d2], 0
mov dword [ebp - 0x77d0], ebx
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x43951a
push str.responseType
mov ecx, esi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77dc]
push eax
call fcn.004512c0
lea eax, [ebp - 0x77dc]
push str.base64
push eax
call fcn.0040b540
add esp, 0x24
test al, al
je 0x4394e8
mov byte [ebp - 0x77d2], 1
jmp 0x43950f
lea eax, [ebp - 0x77dc]
push str.binary
push eax
call fcn.0040b540
add esp, 8
movzx ebx, bl
test al, al
mov eax, 1
cmovne ebx, eax
mov dword [ebp - 0x77d0], ebx
lea ecx, [ebp - 0x77dc]
call fcn.004210d0
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x7840], eax
cmp byte [ebp - 0x77d2], 0
mov byte [ebp - 4], 0x3d
je 0x439655
call fcn.00431310
test al, al
jne 0x439591
mov esi, dword [0x526340]
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.004a7aa0
push eax
call fcn.004a98f0
mov esi, dword [ebp - 0x77ec]
add esp, 8
mov edi, dword [ebp - 0x7828]
mov eax, dword [ebp - 0x7824]
sub eax, edi
push eax
lea eax, [ebp - 0x77d8]
push edi
push eax
call fcn.00433d40
add esp, 0xc
push eax
lea ecx, [ebp - 0x7840]
mov byte [ebp - 4], 0x3e
call fcn.00402ab0
lea ecx, [ebp - 0x77d8]
mov byte [ebp - 4], 0x3d
call fcn.004210d0
call fcn.0043ac10
test al, al
jne 0x4395ea
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
lea eax, [ebp - 0x77d8]
push eax
call fcn.00434520
push eax
lea eax, [ebp - 0x7840]
push eax
call fcn.0040b440
add esp, 0xc
lea ecx, [ebp - 0x77d8]
mov bl, al
call fcn.004210d0
test bl, bl
je 0x439808
push str.Base64_encdng_error
lea ecx, [ebp - 0x77d8]
call fcn.00420e30
mov esi, dword [ebp - 0x7818]
push eax
push esi
mov byte [ebp - 4], 0x3f
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77d8]
call fcn.004210d0
lea ecx, [ebp - 0x7840]
jmp 0x439cc6
mov edi, dword [ebp - 0x7828]
test bl, bl
jne 0x43980e
mov ebx, dword [ebp - 0x7824]
sub ebx, edi
cmp byte [ebx + edi - 1], 0
je 0x43968b
lea eax, [ebx + 1]
push eax
lea ecx, [ebp - 0x7828]
call fcn.00429930
mov edi, dword [ebp - 0x7828]
mov byte [ebx + edi], 0
mov eax, dword [ebp - 0x7824]
sub eax, edi
cmp eax, 3
jbe 0x43978a
call fcn.004246d0
test al, al
jne 0x4396b5
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
cmp byte [edi], 0xef
jne 0x4396e3
cmp byte [edi + 1], 0xbb
jne 0x4396e3
cmp byte [edi + 2], 0xbf
jne 0x4396e3
lea eax, [edi + 3]
push eax
push edi
lea eax, [ebp - 0x77d8]
push eax
lea ecx, [ebp - 0x7828]
call fcn.00429170
mov edi, dword [ebp - 0x7828]
mov esi, dword [0x526340]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0x14
jne 0x439784
xor edx, edx
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, esi
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, esi
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, esi
sar ecx, 1
xor eax, ecx
inc edx
add esi, eax
cmp edx, 0x100
jl 0x439701
mov dword [0x526340], esi
mov esi, dword [ebp - 0x77ec]
push edi
lea ecx, [ebp - 0x77d8]
call fcn.00420e30
push eax
lea ecx, [ebp - 0x7840]
mov byte [ebp - 4], 0x40
call fcn.00402ab0
lea ecx, [ebp - 0x77d8]
mov byte [ebp - 4], 0x3d
call fcn.004210d0
mov ebx, dword [0x526340]
mov eax, ebx
imul eax, ebx
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0xa
jne 0x439808
xor edx, edx
nop
mov ecx, dword [ebp + edx*4 - 0x2ac]
add ecx, dword [ebp + edx*4 - 0x2b0]
add edx, 4
add ecx, dword [ebp + edx*4 - 0x2c4]
add ecx, dword [ebp + edx*4 - 0x2c8]
lea eax, [ecx*8]
sub eax, ecx
add ebx, eax
cmp edx, 0x2a4
jb 0x4397d0
mov dword [0x526340], ebx
mov ebx, dword [ebp - 0x77d0]
push str.outputFile
mov ecx, esi
mov byte [ebp - 0x77d0], 0
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x43995f
push str.outputFile
mov ecx, esi
call fcn.00444a00
mov ecx, eax
call fcn.00445000
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x77e0]
push eax
call fcn.004512c0
add esp, 0x1c
mov eax, dword [ebp - 0x77e0]
mov byte [ebp - 4], 0x41
cmp dword [eax - 0xc], 0
je 0x439915
test bl, bl
je 0x4398cf
push 0x4e4040
push eax
lea eax, [ebp - 0x77dc]
push eax
mov dword [ebp - 0x77dc], 0
call fcn.004ab1a2
add esp, 0xc
test eax, eax
jne 0x439915
mov eax, dword [ebp - 0x77dc]
test eax, eax
je 0x439915
push eax
mov eax, dword [ebp - 0x7824]
sub eax, edi
push eax
push 1
push edi
call fcn.004ab4eb
push dword [ebp - 0x77dc]
call fcn.004ab31d
add esp, 0x14
mov byte [ebp - 0x77d0], 1
jmp 0x439915
mov eax, dword [ebp - 0x7840]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004047d0
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0x77e0]
push eax
call fcn.00435990
movzx ecx, byte [ebp - 0x77d0]
mov esi, dword [ebp - 0x77ec]
add esp, 8
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x77d0], cl
mov ecx, dword [0x526340]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0xb
jne 0x439950
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x526340]
test eax, eax
mov eax, 7
cmove ecx, eax
mov dword [0x526340], ecx
lea ecx, [ebp - 0x77e0]
mov byte [ebp - 4], 0x3d
call fcn.004210d0
push 0
lea ecx, [ebp - 0x787c]
call fcn.00444480
push 1
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x42
call fcn.00444580
lea eax, [ebp - 0x783c]
push eax
push str.result
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x43
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x42
call fcn.00444690
lea eax, [ebp - 0x7840]
push eax
push eax
call fcn.00452210
lea eax, [ebp - 0x7840]
push eax
lea eax, [ebp - 0x771c]
push eax
call fcn.00451390
add esp, 0x10
push eax
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x44
call fcn.004443a0
lea eax, [ebp - 0x783c]
push eax
push str.content
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x45
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x44
call fcn.00444690
lea ecx, [ebp - 0x771c]
mov byte [ebp - 4], 0x42
call fcn.00401060
lea eax, [ebp - 0x781c]
push eax
lea eax, [ebp - 0x7704]
push eax
call fcn.00451390
add esp, 8
push eax
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x46
call fcn.004443a0
lea eax, [ebp - 0x783c]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x47
call fcn.00444920
mov ecx, eax
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x46
call fcn.00444690
lea ecx, [ebp - 0x7704]
mov byte [ebp - 4], 0x42
call fcn.00401060
lea eax, [ebp - 0x77e4]
push eax
lea eax, [ebp - 0x76ec]
push eax
call fcn.00451390
add esp, 8
push eax
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x48
call fcn.004443a0
lea eax, [ebp - 0x783c]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x49
call fcn.00444920
mov ecx, eax
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x48
call fcn.00444690
lea ecx, [ebp - 0x76ec]
mov byte [ebp - 4], 0x42
call fcn.00401060
push str.empty
lea ecx, [ebp - 0x76d4]
call fcn.00401000
push eax
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x4a
call fcn.004443a0
lea eax, [ebp - 0x783c]
push eax
push str.noData
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x4b
call fcn.00444920
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x4a
call fcn.00444690
lea ecx, [ebp - 0x76d4]
mov byte [ebp - 4], 0x42
call fcn.00401060
push str.outputFile
mov ecx, esi
call fcn.00444a00
mov ecx, eax
call fcn.00445a70
test al, al
je 0x439c01
push dword [ebp - 0x77d0]
lea ecx, [ebp - 0x783c]
call fcn.00444580
push str.outputFi
lea ecx, [ebp - 0x76ec]
mov byte [ebp - 4], 0x4c
call fcn.00401000
push str.leResult
push eax
lea eax, [ebp - 0x76d4]
push eax
mov byte [ebp - 4], 0x4d
call fcn.00435c40
add esp, 0xc
lea ecx, [ebp - 0x783c]
push ecx
push eax
lea ecx, [ebp - 0x787c]
mov byte [ebp - 4], 0x4e
call fcn.004447c0
mov ecx, eax
call fcn.00444730
lea ecx, [ebp - 0x76d4]
call fcn.00401060
lea ecx, [ebp - 0x76ec]
call fcn.00401060
lea ecx, [ebp - 0x783c]
mov byte [ebp - 4], 0x42
call fcn.00444690
mov ecx, dword [ebp - 0x7818]
lea eax, [ebp - 0x787c]
push eax
call fcn.00444240
lea ecx, [ebp - 0x787c]
mov dword [ebp - 0x7844], 1
mov byte [ebp - 4], 0x3d
call fcn.00444690
lea ecx, [ebp - 0x7840]
call fcn.004210d0
lea ecx, [ebp - 0x7828]
call fcn.00435f70
jmp 0x4389c6
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
call fcn.0043aab0
test al, al
jne 0x439c66
lea eax, [ebp - 0x77c8]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [0x526340]
imul eax, eax
cdq
mov ecx, 9
idiv ecx
mov eax, dword [0x527448]
mov ecx, 0x1a598756
cmp edx, 5
cmove eax, ecx
cmp byte [ebp - 0x77d1], 0
mov dword [0x527448], eax
je 0x439c9c
push dword [ebp - 0x77e0]
call esi
push str.InternetReadFile_Failed
lea ecx, [ebp - 0x77d8]
call fcn.00420e30
mov esi, dword [ebp - 0x7818]
push eax
push esi
mov byte [ebp - 4], 0x39
call fcn.00436810
add esp, 8
lea ecx, [ebp - 0x77d8]
call fcn.004210d0
lea ecx, [ebp - 0x7828]
call fcn.00435f70
lea ecx, [ebp - 0x781c]
call fcn.004210d0
lea ecx, [ebp - 0x77e4]
call fcn.004210d0
lea ecx, [ebp - 0x7814]
call fcn.004210d0
lea ecx, [ebp - 0x7810]
call fcn.004210d0
lea ecx, [ebp - 0x77fc]
call fcn.004210d0
lea ecx, [ebp - 0x780c]
call fcn.004210d0
lea ecx, [ebp - 0x7804]
call fcn.004210d0
lea ecx, [ebp - 0x7800]
call fcn.004210d0
lea ecx, [ebp - 0x7808]
call fcn.004210d0
lea ecx, [ebp - 0x77f0]
call fcn.004210d0
lea ecx, [ebp - 0x77f8]
call fcn.004210d0
lea ecx, [ebp - 0x77e8]
call fcn.004210d0
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.004a8b24
mov esp, ebp
pop ebp
ret