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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bff56
mov eax, dword fs:[0]
push eax
sub esp, 0xa00
mov eax, dword [0x515e20]
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 - 0x95c], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x9a4], ebx
mov dword [ebp - 0xa0c], ebx
mov dword [ebp - 0x9c4], esi
mov dword [ebp - 0x9a8], edi
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9dc], 0
call fcn.0041e650
add esp, 4
test al, al
je 0x41bd19
push edi
push ebx
call fcn.0041aeb0
add esp, 8
mov eax, ebx
jmp 0x41de94
test esi, esi
jne 0x41bd73
push str.InternetOpen_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
push eax
push ebx
mov dword [ebp - 4], 1
call fcn.0041ab90
mov edx, dword [ebp - 0x95c]
add edx, 0xfffffff0
add esp, 8
mov dword [ebp - 0x9dc], 1
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bd6c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
jmp 0x41de94
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x978], eax
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
mov dword [ebp - 4], 2
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x984], eax
push 0x4d4220
mov ecx, edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x964], 0
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x97c]
push eax
call fcn.00445d90
lea eax, [ebp - 0x964]
push eax
lea eax, [ebp - 0x984]
push eax
lea eax, [ebp - 0x978]
push eax
lea eax, [ebp - 0x97c]
push eax
mov byte [ebp - 4], 4
call fcn.0041a970
movzx eax, al
add esp, 0x2c
test eax, eax
jne 0x41bec1
push str.InternetCrackUrl_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
push eax
push ebx
mov byte [ebp - 4], 5
call fcn.0041ab90
mov edx, dword [ebp - 0x95c]
add edx, 0xfffffff0
or esi, 0xffffffff
add esp, 8
mov dword [ebp - 0x9dc], 1
mov byte [ebp - 4], 4
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41be5f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x97c]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41be82
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x984]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41bea5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x978]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jmp 0x41bd62
push str.redirectCheck
mov ecx, edi
mov byte [ebp - 0x97d], 0
call fcn.00435950
test al, al
je 0x41bf08
push str.redirectCheck
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435900
test al, al
je 0x41bf08
push str.redirectCheck
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00434f20
mov byte [ebp - 0x97d], al
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0x955]
push eax
mov eax, dword [ebp - 0x97c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 0x955], 0
mov dword [ebp - 0x968], 0x50
call fcn.00404f90
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0041a860
add esp, 0xc
mov ecx, edi
push str.port
call fcn.00434950
mov ecx, eax
call fcn.00435920
test al, al
je 0x41bf77
push str.port
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435050
mov esi, eax
jmp 0x41bf86
mov esi, dword [ebp - 0x964]
test esi, esi
cmove esi, dword [ebp - 0x968]
push esi
lea eax, [ebp - 0x978]
push eax
push dword [ebp - 0x95c]
mov byte [ebp - 0x95d], 0
call fcn.0041a300
add esp, 0xc
mov dword [ebp - 0x974], eax
test eax, eax
jne 0x41c081
mov eax, dword [0x517ca4]
test eax, eax
jne 0x41bfe5
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41bfdc
push str.InternetConnectW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x517ca4], eax
jmp 0x41bfe1
mov eax, dword [0x517ca4]
test eax, eax
je 0x41c008
push 0
push 0
push 3
push 0
push 0
push esi
push dword [ebp - 0x978]
push dword [ebp - 0x9c4]
call eax
mov dword [ebp - 0x974], eax
test eax, eax
jne 0x41c059
push str.InternetConnect_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
push eax
push ebx
mov byte [ebp - 4], 6
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x95c]
call fcn.00402090
lea ecx, [ebp - 0x97c]
call fcn.00402090
lea ecx, [ebp - 0x984]
call fcn.00402090
lea ecx, [ebp - 0x978]
call fcn.00402090
mov eax, ebx
jmp 0x41de94
mov ecx, dword [ebp - 0x9ac]
test ecx, ecx
jne 0x41c06c
mov byte [ebp - 0x95d], 1
jmp 0x41c081
push eax
push esi
lea eax, [ebp - 0x978]
push eax
push dword [ebp + 0x1c]
push ecx
call fcn.0041e850
add esp, 0x14
cmp byte [ebp - 0x97d], 0
mov eax, 0x80400200
mov ecx, 0x80600200
cmovne eax, ecx
or eax, 0xc000
cmp byte [ebp - 0x955], 0
mov dword [ebp - 0x968], eax
je 0x41c0b4
or eax, 0x803080
mov dword [ebp - 0x968], eax
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x998], eax
push str.method
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c143
push str.method
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x998]
mov byte [ebp - 4], 8
call fcn.00402610
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 7
call fcn.00402090
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x964], eax
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x994], ebx
push str.version
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c1c6
push str.version
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x994]
mov byte [ebp - 4], 0xa
call fcn.00402610
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 9
call fcn.00402090
mov ebx, dword [ebp - 0x994]
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x990], edi
mov esi, dword [ebp - 0x9a8]
push str.referer
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c24f
push str.referer
mov ecx, esi
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x990]
mov byte [ebp - 4], 0xc
call fcn.00402610
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0xb
call fcn.00402090
mov edi, dword [ebp - 0x990]
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x99c], esi
mov ecx, dword [ebp - 0x9a8]
push str.acceptTypes
mov byte [ebp - 4], 0xd
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c2da
mov ecx, dword [ebp - 0x9a8]
push str.acceptTypes
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x99c]
mov byte [ebp - 4], 0xe
call fcn.00402610
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0xd
call fcn.00402090
mov esi, dword [ebp - 0x99c]
xor eax, eax
cmp dword [esi - 0xc], eax
mov dword [ebp - 0xa04], eax
cmove esi, eax
mov dword [ebp - 0xa08], esi
cmp dword [edi - 0xc], eax
push 1
push dword [ebp - 0x968]
cmove edi, eax
cmp dword [ebx - 0xc], eax
cmove ebx, eax
mov eax, dword [ebp - 0x964]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
cmove eax, ecx
lea ecx, [ebp - 0xa08]
push ecx
push edi
push ebx
push dword [ebp - 0x984]
push eax
push dword [ebp - 0x974]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x968], eax
test eax, eax
jne 0x41c365
push str.HttpOpenRequest_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
mov esi, dword [ebp - 0x9a4]
push eax
push esi
mov byte [ebp - 4], 0xf
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x95c]
jmp 0x41de40
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x98c], esi
mov edi, dword [ebp - 0x9a8]
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c478
push 0x4d43e8
lea ecx, [ebp - 0x964]
call fcn.00401c40
lea eax, [ebp - 0x964]
push eax
push str.contentType
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x988]
push eax
call fcn.00445d90
add esp, 0x1c
mov esi, eax
push str.Content_Type:
lea ecx, [ebp - 0x9ac]
mov byte [ebp - 4], 0x12
call fcn.00401bb0
push esi
push eax
lea eax, [ebp - 0x9c4]
push eax
mov byte [ebp - 4], 0x13
call fcn.0042fa40
add esp, 0xc
push eax
lea eax, [ebp - 0x95c]
push eax
mov byte [ebp - 4], 0x14
call fcn.0042fa40
add esp, 0xc
push eax
lea ecx, [ebp - 0x98c]
mov byte [ebp - 4], 0x15
call fcn.00402610
lea ecx, [ebp - 0x95c]
call fcn.00402090
lea ecx, [ebp - 0x9c4]
call fcn.00402090
lea ecx, [ebp - 0x9ac]
call fcn.00402090
lea ecx, [ebp - 0x988]
call fcn.00402090
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x10
call fcn.00402090
mov esi, dword [ebp - 0x98c]
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c51d
push str.additionalRequestHeaders
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
mov eax, dword [eax]
lea ecx, [ebp - 0x98c]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x16
push eax
call fcn.00402ea0
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0x10
call fcn.00402090
mov esi, dword [ebp - 0x98c]
lea eax, [esi - 0x10]
push eax
call fcn.00404f90
add eax, 0x10
add esp, 4
mov dword [ebp - 0x964], eax
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x17
call fcn.0041ea50
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x10
call fcn.00402090
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x988], ebx
push str.postData
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41c5a0
push str.postData
mov ecx, edi
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
add esp, 0x1c
push eax
lea ecx, [ebp - 0x988]
mov byte [ebp - 4], 0x19
call fcn.00402610
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0x18
call fcn.00402090
mov ebx, dword [ebp - 0x988]
lea eax, [ebx - 0x10]
push eax
call fcn.00404f90
lea edi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x9a0], edi
mov eax, dword [ebx - 0xc]
add eax, eax
cmp byte [ebp - 0x97d], 0
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x95c], eax
je 0x41c603
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0x964]
push eax
push 6
push dword [ebp - 0x968]
mov dword [ebp - 0x964], 0x2710
call ebx
push 4
lea eax, [ebp - 0x964]
push eax
push 5
push dword [ebp - 0x968]
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 0x41c630
push 0
lea ecx, [ebp - 0x9a0]
call fcn.00406d00
mov edi, dword [ebp - 0x9a0]
push dword [ebp - 0x95c]
push edi
push dword [ebx]
push esi
mov esi, dword [ebp - 0x968]
push esi
call fcn.00419be0
push eax
call fcn.00420dc0
test eax, eax
jne 0x41c73e
lea eax, [ebp - 0x964]
push eax
call fcn.00446bb0
add esp, 4
mov edx, dword [0x517280]
mov byte [ebp - 4], 0x1b
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 9
jne 0x41c69c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x517280], edx
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push esi
call edi
call fcn.0041f2b0
test al, al
jne 0x41c6d0
mov eax, 0xa5
mov esi, 0xa
test esi, esi
je 0x41c6c9
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x41c6b8
add eax, esi
mov dword [0x517280], eax
cmp byte [ebp - 0x95d], 0
je 0x41c6e1
push dword [ebp - 0x974]
call edi
push str.HttpSendRequest_Failed_with:
lea ecx, [ebp - 0x9c4]
call fcn.00401bb0
lea ecx, [ebp - 0x964]
push ecx
push eax
lea eax, [ebp - 0x95c]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0042fa40
mov esi, dword [ebp - 0x9a4]
push eax
push esi
mov byte [ebp - 4], 0x1d
call fcn.0041ab90
add esp, 0x14
lea ecx, [ebp - 0x95c]
call fcn.00402090
lea ecx, [ebp - 0x9c4]
call fcn.00402090
lea ecx, [ebp - 0x964]
jmp 0x41de1f
mov ebx, dword [ebp - 0x9a8]
push ebx
call fcn.0041e810
add esp, 4
test al, al
jne 0x41c900
mov ecx, dword [0x517280]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 9
idiv ecx
cmp edx, 4
jne 0x41c787
push 0x94
push 0x93
push str._d__d_n
call fcn.0049f507
add esp, 0xc
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x95d], 0
je 0x41c7a1
push dword [ebp - 0x974]
call esi
push 0
lea ecx, [ebp - 0x9d4]
call fcn.00434340
push 1
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x1e
call fcn.00434440
lea eax, [ebp - 0x9c0]
push eax
push str.result
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x1f
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x1e
call fcn.004345e0
call fcn.0041f080
test al, al
jne 0x41c81b
mov eax, 0x3c
mov esi, 0xf2
test esi, esi
je 0x41c814
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x41c803
add eax, esi
mov dword [0x517280], eax
push str.no_response_needed
lea ecx, [ebp - 0x9c0]
call fcn.00434300
lea eax, [ebp - 0x9c0]
push eax
push str.content
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x20
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x1e
call fcn.004345e0
mov ecx, dword [ebp - 0x9a4]
lea eax, [ebp - 0x9d4]
push eax
call fcn.00434100
lea ecx, [ebp - 0x9d4]
mov dword [ebp - 0x9dc], 1
mov byte [ebp - 4], 0x1a
call fcn.004345e0
lea ecx, [ebp - 0x9a0]
call fcn.00402090
lea ecx, [ebp - 0x988]
call fcn.00402090
lea ecx, [ebp - 0x98c]
call fcn.00402090
lea ecx, [ebp - 0x99c]
call fcn.00402090
lea ecx, [ebp - 0x990]
call fcn.00402090
lea ecx, [ebp - 0x994]
call fcn.00402090
lea ecx, [ebp - 0x998]
call fcn.00402090
lea ecx, [ebp - 0x97c]
call fcn.00402090
lea ecx, [ebp - 0x984]
call fcn.00402090
lea ecx, [ebp - 0x978]
call fcn.00402090
mov eax, dword [ebp - 0x9a4]
jmp 0x41de94
push 0x400
lea eax, [ebp - 0x8f3]
push 0
push eax
mov byte [ebp - 0x8f4], 0
call fcn.0049f660
add esp, 0xc
mov dword [ebp - 0xa00], 0x400
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x41ca0f
call fcn.0041f080
test al, al
jne 0x41c9c6
mov ecx, dword [0x517280]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x95c], eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x9c4], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x964], 0
mov dword [ebp - 0x9ac], eax
lea ecx, [ebp - 0xeb]
nop
mov eax, dword [0x517280]
mov bl, al
sub bl, byte [ebp - 0x964]
mov esi, 1
mov edi, 5
add ecx, 4
inc esi
dec edi
jne 0x41c9a7
mov eax, dword [ebp - 0x964]
inc eax
mov dword [ebp - 0x964], eax
cmp eax, 0xb
jl 0x41c990
mov esi, dword [ebp - 0x968]
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x95d], 0
je 0x41c9e0
push dword [ebp - 0x974]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x9a4]
push eax
push esi
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x95c]
jmp 0x41de1f
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x41ca4f
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x95d], 0
je 0x41ca39
push dword [ebp - 0x974]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
mov byte [ebp - 4], 0x22
jmp 0x41c9f4
push 0
lea ecx, [ebp - 0xa00]
push ecx
lea ecx, [ebp - 0x8f4]
push ecx
push 0x13
push esi
call eax
test eax, eax
jne 0x41cab8
call fcn.0041f340
test al, al
jne 0x41ca85
mov eax, dword [0x517280]
test eax, eax
mov edx, 1
cmove eax, edx
mov dword [0x517280], eax
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x95d], 0
je 0x41ca9f
push dword [ebp - 0x974]
call esi
push str.HttpQueryInfo_Failed
lea ecx, [ebp - 0x95c]
call fcn.00401bb0
mov byte [ebp - 4], 0x23
jmp 0x41c9f4
lea eax, [ebp - 0x8f4]
push eax
lea ecx, [ebp - 0x970]
call fcn.00418e30
push str.acceptedStatusCodes
mov ecx, ebx
mov byte [ebp - 4], 0x24
call fcn.00434950
mov edi, eax
mov ecx, edi
call fcn.004358e0
mov ecx, edi
test al, al
je 0x41cbfd
xor esi, esi
call fcn.00435d10
test eax, eax
jle 0x41cd99
lea esp, [esp]
push esi
mov ecx, edi
call fcn.004348b0
mov ecx, eax
call fcn.004359b0
push esi
mov ecx, edi
test al, al
je 0x41cb51
call fcn.004348b0
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x95c]
push eax
call fcn.00445d90
push eax
lea eax, [ebp - 0x970]
push eax
call fcn.004028a0
add esp, 0x24
lea ecx, [ebp - 0x95c]
jmp 0x41cbd0
call fcn.004348b0
mov ecx, eax
call fcn.00435920
test al, al
je 0x41cbe8
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x964], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x25
call fcn.004348b0
mov ecx, eax
call fcn.00435050
push eax
lea eax, [ebp - 0x964]
push eax
lea eax, [ebp - 0x9ac]
push eax
call fcn.0042fb00
add esp, 0xc
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x24
call fcn.00402090
lea eax, [ebp - 0x9ac]
push eax
lea eax, [ebp - 0x970]
push eax
call fcn.004028a0
add esp, 8
lea ecx, [ebp - 0x9ac]
mov byte [ebp - 0x955], al
call fcn.00402090
cmp byte [ebp - 0x955], 0
jne 0x41ce18
mov ecx, edi
inc esi
call fcn.00435d10
cmp esi, eax
jl 0x41cb00
jmp 0x41cd99
call fcn.00435990
test al, al
je 0x41cd7d
xor esi, esi
mov ecx, edi
mov dword [ebp - 0x95c], esi
call fcn.00435d10
test eax, eax
jle 0x41cd99
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x964], eax
push esi
lea eax, [ebp - 0x964]
push 0x4d1b10
push eax
mov byte [ebp - 4], 0x26
call fcn.0041b430
mov esi, dword [ebp - 0x964]
add esp, 0xc
mov ecx, edi
push esi
call fcn.00434950
mov ecx, eax
call fcn.004359b0
push esi
mov ecx, edi
test al, al
je 0x41ccaa
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x96c]
push eax
call fcn.00445d90
push eax
lea eax, [ebp - 0x970]
push eax
call fcn.004028a0
add esp, 0x24
lea ecx, [ebp - 0x96c]
jmp 0x41cd25
call fcn.00434950
mov ecx, eax
call fcn.00435920
test al, al
je 0x41cd39
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9ac], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x27
call fcn.00434950
mov ecx, eax
call fcn.00435050
push eax
lea eax, [ebp - 0x9ac]
push eax
lea eax, [ebp - 0x9c4]
push eax
call fcn.0042fb00
add esp, 0xc
lea ecx, [ebp - 0x9ac]
call fcn.00402090
lea eax, [ebp - 0x9c4]
push eax
lea eax, [ebp - 0x970]
push eax
call fcn.004028a0
add esp, 8
lea ecx, [ebp - 0x9c4]
mov byte [ebp - 0x955], al
call fcn.00402090
cmp byte [ebp - 0x955], 0
jne 0x41cd66
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x24
call fcn.00402090
mov esi, dword [ebp - 0x95c]
inc esi
mov ecx, edi
mov dword [ebp - 0x95c], esi
call fcn.00435d10
cmp esi, eax
jl 0x41cc21
jmp 0x41cd99
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x24
call fcn.00402090
mov al, byte [ebp - 0x955]
jmp 0x41cd91
lea eax, [ebp - 0x970]
push 0x4d4468
push eax
call fcn.00402900
add esp, 8
test al, al
jne 0x41ce18
push dword [ebp - 0x968]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp byte [ebp - 0x95d], 0
je 0x41cdb8
push dword [ebp - 0x974]
call esi
push 3
push dword [ebp - 0x970]
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
call fcn.00406900
push dword [ebp - 0x94]
mov byte [ebp - 4], 0x28
call fcn.0049f7b2
mov esi, dword [ebp - 0x9a4]
push eax
push esi
call fcn.0041aca0
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x90]
add esp, 0xc
cmp eax, ecx
je 0x41de19
push eax
call fcn.0049eda5
add esp, 4
jmp 0x41de19
mov edi, dword [ebp - 0x968]
push 0
lea eax, [ebp - 0x9e4]
push eax
push 0
push 0x16
push edi
mov dword [ebp - 0x9e4], 0
call fcn.0041f3f0
mov eax, dword [0x5159f8]
add esp, 0x14
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9b0], eax
cmp dword [ebp - 0x9e4], 0
mov byte [ebp - 4], 0x29
je 0x41cf16
mov edx, dword [0x517280]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xc
idiv ecx
cmp edx, 3
jne 0x41cea0
mov esi, 1
mov eax, esi
mov edx, 0x70
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x41ce90
mov dword [0x517280], ecx
push dword [ebp - 0x9e4]
call fcn.0049d210
mov esi, eax
add esp, 4
test esi, esi
je 0x41cf16
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41cee2
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41cee2
push 0
lea ecx, [ebp - 0x9e4]
push ecx
push esi
push 0x16
push edi
call eax
push esi
lea ecx, [ebp - 0x96c]
call fcn.00418e30
push eax
lea ecx, [ebp - 0x9b0]
mov byte [ebp - 4], 0x2a
call fcn.00402610
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x29
call fcn.00402090
push esi
call fcn.0049ee63
add esp, 4
cmp byte [ebp - 0x97d], 0
je 0x41d36e
call fcn.0041f020
test al, al
jne 0x41cf52
mov esi, dword [0x517280]
mov ecx, 1
cmp esi, ecx
jle 0x41cf4c
jmp 0x41cf40
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x41cf40
mov dword [0x517280], ecx
push 0
lea ecx, [ebp - 0x9d4]
call fcn.00434340
lea eax, [ebp - 0x970]
push 0x4d4470
push eax
mov byte [ebp - 4], 0x2b
call fcn.004029c0
add esp, 8
test al, al
je 0x41d00d
lea eax, [ebp - 0x970]
push 0x4d4478
push eax
call fcn.004029c0
add esp, 8
test al, al
je 0x41d00d
lea eax, [ebp - 0x970]
push 0x4d4480
push eax
call fcn.004029c0
add esp, 8
test al, al
je 0x41d00d
lea eax, [ebp - 0x970]
push 0x4d4488
push eax
call fcn.004029c0
add esp, 8
test al, al
je 0x41d00d
mov ecx, dword [ebp - 0x9a4]
lea eax, [ebp - 0x9d4]
push eax
call fcn.00434100
lea ecx, [ebp - 0x9d4]
mov dword [ebp - 0x9dc], 1
mov byte [ebp - 4], 0x29
call fcn.004345e0
lea ecx, [ebp - 0x9b0]
call fcn.00402090
lea ecx, [ebp - 0x970]
call fcn.00402090
jmp 0x41c887
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x974], eax
mov eax, dword [ebp - 0x9b0]
add eax, 0xfffffff0
push eax
mov byte [ebp - 4], 0x2c
call fcn.00404f90
add eax, 0x10
add esp, 4
mov dword [ebp - 0x968], eax
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 0x2d
call fcn.004168f0
mov esi, dword [ebp - 0x968]
cmp dword [esi - 0xc], 0
jl 0x41d2b8
push str.location:
push esi
call fcn.0049ef52
mov edi, eax
add esp, 8
test edi, edi
je 0x41d2b8
sub edi, esi
sar edi, 1
cmp edi, 0xffffffff
je 0x41d2b8
push edi
push 0x4d43e8
lea ecx, [ebp - 0x968]
call fcn.00405140
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x96c]
push eax
lea ecx, [ebp - 0x968]
call fcn.00406be0
push eax
lea ecx, [ebp - 0x974]
mov byte [ebp - 4], 0x2e
call fcn.00402610
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x2d
call fcn.00402090
mov eax, dword [ebp - 0x974]
cmp dword [eax - 0xc], 0
jl 0x41d312
push str.http
push eax
call fcn.0049ef52
mov edx, eax
add esp, 8
test edx, edx
je 0x41d312
mov ecx, dword [ebp - 0x974]
sub edx, ecx
sar edx, 1
cmp edx, 0xffffffff
je 0x41d312
mov eax, dword [ecx - 0xc]
sub eax, edx
push eax
lea eax, [ebp - 0x96c]
push eax
lea ecx, [ebp - 0x974]
call fcn.004078a0
push eax
lea ecx, [ebp - 0x974]
mov byte [ebp - 4], 0x2f
call fcn.00402610
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x2d
call fcn.00402090
push 1
lea ecx, [ebp - 0x9c0]
call fcn.00434440
lea eax, [ebp - 0x9c0]
push eax
push str.urlRedirected
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x30
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x2d
call fcn.004345e0
lea eax, [ebp - 0x97c]
push eax
lea eax, [ebp - 0x90c]
push eax
call fcn.00445e60
add esp, 8
push eax
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x31
call fcn.00434260
lea eax, [ebp - 0x9c0]
push eax
push str.requestUrl
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x32
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x31
call fcn.004345e0
lea ecx, [ebp - 0x90c]
mov byte [ebp - 4], 0x2d
call fcn.00401060
lea eax, [ebp - 0x974]
push eax
lea eax, [ebp - 0x954]
push eax
call fcn.00445e60
add esp, 8
push eax
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x33
call fcn.00434260
lea eax, [ebp - 0x9c0]
push eax
push str.redirectUrl
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x34
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x33
call fcn.004345e0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x954]
call fcn.00401060
mov eax, dword [ebp - 0x970]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x41d270
push 0
lea ecx, [ebp - 0x970]
call fcn.00406d00
mov eax, dword [ebp - 0x970]
push eax
call fcn.0049ee46
add esp, 4
lea ecx, [ebp - 0x9c0]
push eax
call fcn.004342a0
lea eax, [ebp - 0x9c0]
push eax
push str.statusCode
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x35
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x2d
call fcn.004345e0
jmp 0x41d312
mov esi, dword [0x517280]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 9
idiv ecx
cmp edx, 5
jne 0x41d312
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 + 0x2f4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049d210
push eax
call fcn.0049ee63
add esp, 8
mov ecx, dword [ebp - 0x9a4]
lea eax, [ebp - 0x9d4]
push eax
call fcn.00434100
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x9dc], 1
call fcn.00402090
lea ecx, [ebp - 0x974]
call fcn.00402090
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x29
call fcn.004345e0
lea ecx, [ebp - 0x9b0]
call fcn.00402090
lea ecx, [ebp - 0x970]
call fcn.00402090
jmp 0x41c887
xor eax, eax
xor esi, esi
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9b8], esi
mov dword [ebp - 0x9b4], eax
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x9e8], esi
mov edi, edi
sub esi, eax
lea ecx, [ebp - 0x9bc]
lea eax, [esi + 0x400]
push eax
call fcn.0041f370
mov eax, dword [0x517280]
imul eax, eax
cdq
mov ecx, 0x12
idiv ecx
cmp edx, 0xf
jne 0x41d3cf
call fcn.0049ed34
mov ecx, dword [0x517280]
cmp ecx, eax
jne 0x41d3cf
dec ecx
mov dword [0x517280], ecx
mov eax, dword [ebp - 0x9bc]
lea ecx, [ebp - 0x9e8]
push ecx
add eax, esi
push 0x400
push eax
push edi
mov dword [ebp - 0x9e8], 0
call fcn.00419be0
push eax
call fcn.00420ec0
test eax, eax
je 0x41ddba
mov eax, dword [ebp - 0x9e8]
add eax, esi
push eax
lea ecx, [ebp - 0x9bc]
call fcn.0041f370
call fcn.0041f110
test al, al
jne 0x41d427
push 0
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp dword [ebp - 0x9e8], 0
je 0x41d441
mov esi, dword [ebp - 0x9b8]
mov eax, dword [ebp - 0x9bc]
jmp 0x41d390
push 0x400
lea eax, [ebp - 0x4ef]
push 0
push eax
mov byte [ebp - 0x4f0], 0
call fcn.0049f660
add esp, 0xc
mov dword [ebp - 0x9fc], 0x400
push str.Wininet.dll
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41d4ae
push str.HttpQueryInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
call fcn.0041f1c0
test al, al
jne 0x41d4ae
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0
lea eax, [ebp - 0x9fc]
push eax
lea eax, [ebp - 0x4f0]
push eax
push 0x1d
push edi
call esi
test eax, eax
je 0x41d641
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x964]
call fcn.00418e30
lea eax, [ebp - 0x964]
push str.gzip
push eax
mov byte [ebp - 4], 0x38
call fcn.00402900
add esp, 8
test al, al
je 0x41d5e1
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9c8], 0
mov eax, dword [ebp - 0x9bc]
mov ecx, dword [ebp - 0x9b8]
lea edx, [ebp - 0x9d0]
push edx
sub ecx, eax
push ecx
push eax
mov byte [ebp - 4], 0x39
call fcn.0041ee40
add esp, 0xc
test eax, eax
jne 0x41d5a1
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
cmp byte [ebp - 0x95d], 0
je 0x41d55c
push dword [ebp - 0x974]
call esi
push str.gzip_decompressing_error
lea ecx, [ebp - 0x96c]
call fcn.00401bb0
mov esi, dword [ebp - 0x9a4]
push eax
push esi
mov byte [ebp - 4], 0x3a
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x96c]
call fcn.00402090
lea ecx, [ebp - 0x9d0]
call fcn.0041a1f0
lea ecx, [ebp - 0x964]
jmp 0x41ddfe
lea eax, [ebp - 0x9d0]
push eax
lea ecx, [ebp - 0x9bc]
call fcn.0041a220
call fcn.0041f0e0
test al, al
jne 0x41d5d2
call fcn.0049ed34
mov ecx, dword [0x517280]
cmp ecx, eax
jne 0x41d5d2
dec ecx
mov dword [0x517280], ecx
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0x38
call fcn.0041a1f0
mov esi, dword [0x517280]
mov ecx, 0x12
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0xe
jne 0x41d632
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 + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0049d210
push eax
call fcn.0049ee63
add esp, 8
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0x36
call fcn.00402090
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
cmp byte [ebp - 0x95d], 0
je 0x41d65b
push dword [ebp - 0x974]
call esi
push str.responseType
mov ecx, ebx
mov byte [ebp - 0x955], 0
mov byte [ebp - 0x964], 0
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41d707
push str.responseType
mov ecx, ebx
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x968]
push eax
call fcn.00445d90
lea eax, [ebp - 0x968]
push str.base64
push eax
call fcn.00402900
add esp, 0x24
test al, al
je 0x41d6cf
mov byte [ebp - 0x955], 1
jmp 0x41d6fc
lea eax, [ebp - 0x968]
push str.binary
push eax
call fcn.00402900
mov ecx, dword [ebp - 0x964]
movzx ecx, cl
add esp, 8
test al, al
mov edx, 1
cmovne ecx, edx
mov dword [ebp - 0x964], ecx
lea ecx, [ebp - 0x968]
call fcn.00402090
mov eax, dword [0x5159f8]
mov ecx, 0x5159f8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9d8], eax
cmp byte [ebp - 0x955], 0
mov byte [ebp - 4], 0x3b
je 0x41d858
mov esi, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9b8]
sub eax, esi
push eax
lea eax, [ebp - 0x96c]
push esi
push eax
call fcn.004106d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x9d8]
mov byte [ebp - 4], 0x3c
call fcn.00402610
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x3b
call fcn.00402090
lea eax, [ebp - 0x95c]
push eax
call fcn.00418d20
push eax
lea eax, [ebp - 0x9d8]
push eax
call fcn.004028a0
add esp, 0xc
lea ecx, [ebp - 0x95c]
mov bl, al
call fcn.00402090
test bl, bl
je 0x41d9b7
mov esi, dword [0x517280]
mov ecx, 0xd
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 9
jne 0x41d81e
test esi, esi
je 0x41d81e
lea ebx, [ebx]
mov ecx, esi
and ecx, 0x80000001
jns 0x41d7cf
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x41d7dc
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x41d7e3
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 [0x517280], esi
sub ecx, 0
je 0x41d80d
sub ecx, 2
je 0x41d810
dec ecx
je 0x41d811
jmp 0x41d81a
add esi, 2
inc esi
add esi, 2
mov dword [0x517280], esi
test esi, esi
jne 0x41d7c0
push str.Base64_encdng_error
lea ecx, [ebp - 0x96c]
call fcn.00401bb0
mov esi, dword [ebp - 0x9a4]
push eax
push esi
mov byte [ebp - 4], 0x3d
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x96c]
call fcn.00402090
lea ecx, [ebp - 0x9d8]
jmp 0x41ddfe
cmp byte [ebp - 0x964], 0
jne 0x41d9af
call fcn.0041eff0
mov edi, dword [0x517280]
test al, al
jne 0x41d884
test edi, edi
mov eax, 1
cmove edi, eax
mov dword [0x517280], edi
mov eax, dword [ebp - 0x9b8]
mov esi, dword [ebp - 0x9bc]
sub eax, esi
mov dword [ebp - 0x95c], eax
call fcn.0041f020
test al, al
jne 0x41d8b7
call fcn.0049ed34
mov edi, dword [0x517280]
cmp edi, eax
jne 0x41d8b7
dec edi
mov dword [0x517280], edi
mov eax, dword [ebp - 0x95c]
cmp byte [eax + esi - 1], 0
je 0x41d8e7
inc eax
push eax
lea ecx, [ebp - 0x9bc]
call fcn.0041f370
mov esi, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x95c]
mov byte [eax + esi], 0
mov edi, dword [0x517280]
mov eax, dword [ebp - 0x9b8]
sub eax, esi
cmp eax, 3
jbe 0x41d982
call fcn.0041f0e0
test al, al
jne 0x41d954
movsd xmm3, qword [0x4d39b0]
movsd xmm6, qword [0x4d39b8]
movsd xmm5, qword [0x4d39a8]
movd xmm4, edi
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x41d93e
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x41d924
cmp byte [esi], 0xef
jne 0x41d982
cmp byte [esi + 1], 0xbb
jne 0x41d982
cmp byte [esi + 2], 0xbf
jne 0x41d982
lea eax, [esi + 3]
push eax
push esi
lea eax, [ebp - 0x9e0]
push eax
lea ecx, [ebp - 0x9bc]
call fcn.004199a0
mov esi, dword [ebp - 0x9bc]
push esi
lea ecx, [ebp - 0x96c]
call fcn.00401bb0
push eax
lea ecx, [ebp - 0x9d8]
mov byte [ebp - 4], 0x3e
call fcn.00402610
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x3b
call fcn.00402090
jmp 0x41d9bd
mov esi, dword [ebp - 0x9bc]
jmp 0x41d9bd
mov ebx, dword [ebp - 0x9a8]
push str.outputFile
mov ecx, ebx
mov byte [ebp - 0x9a8], 0
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41dad2
push str.outputFile
mov ecx, ebx
call fcn.00434950
mov ecx, eax
call fcn.00435260
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401000
lea eax, [ebp - 0x968]
push eax
call fcn.00445d90
add esp, 0x1c
mov eax, dword [ebp - 0x968]
mov byte [ebp - 4], 0x3f
cmp dword [eax - 0xc], 0
je 0x41dac3
cmp byte [ebp - 0x964], 0
je 0x41da83
push 0x4d4538
push eax
lea eax, [ebp - 0x964]
push eax
mov dword [ebp - 0x964], 0
call fcn.004a0622
add esp, 0xc
test eax, eax
jne 0x41dac3
mov eax, dword [ebp - 0x964]
test eax, eax
je 0x41dac3
push eax
mov eax, dword [ebp - 0x9b8]
sub eax, esi
push eax
push 1
push esi
call fcn.004a096b
push dword [ebp - 0x964]
call fcn.004a079d
add esp, 0x14
mov byte [ebp - 0x9a8], 1
jmp 0x41dac3
mov eax, dword [ebp - 0x9d8]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00404f90
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0x968]
push eax
call fcn.004198a0
movzx ecx, byte [ebp - 0x9a8]
add esp, 8
test al, al
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x9a8], cl
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 0x3b
call fcn.00402090
push 0
lea ecx, [ebp - 0x9f8]
call fcn.00434340
push 1
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x40
call fcn.00434440
lea eax, [ebp - 0x9d4]
push eax
push str.result
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x41
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x40
call fcn.004345e0
lea eax, [ebp - 0x9d8]
push eax
push eax
call fcn.00447350
lea eax, [ebp - 0x9d8]
push eax
lea eax, [ebp - 0x954]
push eax
call fcn.00445e60
add esp, 0x10
push eax
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x42
call fcn.00434260
lea eax, [ebp - 0x9d4]
push eax
push str.content
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x43
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x42
call fcn.004345e0
lea ecx, [ebp - 0x954]
mov byte [ebp - 4], 0x40
call fcn.00401060
lea eax, [ebp - 0x9b0]
push eax
lea eax, [ebp - 0x90c]
push eax
call fcn.00445e60
add esp, 8
push eax
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x44
call fcn.00434260
lea eax, [ebp - 0x9d4]
push eax
push str.headers
push str.additionalInfo
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x45
call fcn.00434870
mov ecx, eax
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x44
call fcn.004345e0
lea ecx, [ebp - 0x90c]
mov byte [ebp - 4], 0x40
call fcn.00401060
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x924]
push eax
call fcn.00445e60
add esp, 8
push eax
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x46
call fcn.00434260
lea eax, [ebp - 0x9d4]
push eax
push str.httpCode
push str.additionalInfo
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x47
call fcn.00434870
mov ecx, eax
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x46
call fcn.004345e0
lea ecx, [ebp - 0x924]
mov byte [ebp - 4], 0x40
call fcn.00401060
push str.empty
lea ecx, [ebp - 0x93c]
call fcn.00401000
push eax
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x48
call fcn.00434260
lea eax, [ebp - 0x9d4]
push eax
push str.noData
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x49
call fcn.00434870
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x48
call fcn.004345e0
lea ecx, [ebp - 0x93c]
mov byte [ebp - 4], 0x40
call fcn.00401060
push str.outputFile
mov ecx, ebx
call fcn.00434950
mov ecx, eax
call fcn.004359b0
test al, al
je 0x41dd74
push dword [ebp - 0x9a8]
lea ecx, [ebp - 0x9d4]
call fcn.00434440
push str.outputFi
lea ecx, [ebp - 0x924]
mov byte [ebp - 4], 0x4a
call fcn.00401000
push str.leResult
push eax
lea eax, [ebp - 0x93c]
push eax
mov byte [ebp - 4], 0x4b
call fcn.00419e50
add esp, 0xc
lea ecx, [ebp - 0x9d4]
push ecx
push eax
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x4c
call fcn.00434710
mov ecx, eax
call fcn.00434680
lea ecx, [ebp - 0x93c]
call fcn.00401060
lea ecx, [ebp - 0x924]
call fcn.00401060
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x40
call fcn.004345e0
mov ecx, dword [ebp - 0x9a4]
lea eax, [ebp - 0x9f8]
push eax
call fcn.00434100
lea ecx, [ebp - 0x9f8]
mov dword [ebp - 0x9dc], 1
mov byte [ebp - 4], 0x3b
call fcn.004345e0
lea ecx, [ebp - 0x9d8]
call fcn.00402090
lea ecx, [ebp - 0x9bc]
call fcn.0041a1f0
jmp 0x41cff2
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
cmp byte [ebp - 0x95d], 0
je 0x41ddd4
push dword [ebp - 0x974]
call esi
push str.InternetReadFile_Failed
lea ecx, [ebp - 0x96c]
call fcn.00401bb0
mov esi, dword [ebp - 0x9a4]
push eax
push esi
mov byte [ebp - 4], 0x37
call fcn.0041ab90
add esp, 8
lea ecx, [ebp - 0x96c]
call fcn.00402090
lea ecx, [ebp - 0x9bc]
call fcn.0041a1f0
lea ecx, [ebp - 0x9b0]
call fcn.00402090
lea ecx, [ebp - 0x970]
call fcn.00402090
lea ecx, [ebp - 0x9a0]
call fcn.00402090
lea ecx, [ebp - 0x988]
call fcn.00402090
lea ecx, [ebp - 0x98c]
call fcn.00402090
lea ecx, [ebp - 0x99c]
call fcn.00402090
lea ecx, [ebp - 0x990]
call fcn.00402090
lea ecx, [ebp - 0x994]
call fcn.00402090
lea ecx, [ebp - 0x998]
call fcn.00402090
lea ecx, [ebp - 0x97c]
call fcn.00402090
lea ecx, [ebp - 0x984]
call fcn.00402090
lea ecx, [ebp - 0x978]
call fcn.00402090
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.0049e294
mov esp, ebp
pop ebp
ret