Function at 0x47fd7e
Capabilities:
Create http request
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1b50
call fcn.00433a00
push ebx
push esi
push edi
mov edi, ecx
call fcn.00483d4f
test al, al
je 0x4801b5
push 0
push dword [ebp + 0xc]
mov ecx, edi
call fcn.004847ad
push 0
push dword [ebp + 8]
mov ecx, edi
mov dword [ebp - 8], eax
call fcn.004847ad
mov edx, dword [ebp - 8]
xor esi, esi
mov dword [ebp - 0x10], esi
mov ebx, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], esi
test edx, edx
je 0x47fde1
cmp byte [edx], 0
mov ecx, edx
je 0x47fde1
cmp byte [ecx], 0x5c
jne 0x47fddb
mov byte [ecx], 0x2f
inc ecx
cmp byte [ecx], 0
jne 0x47fdd3
test ebx, ebx
je 0x47fdf8
cmp byte [ebx], 0
je 0x47fdf8
cmp byte [eax], 0x5c
jne 0x47fdf2
mov byte [eax], 0x2f
inc eax
cmp byte [eax], 0
jne 0x47fdea
push edx
push dword [ebp + 0x2c]
call fcn.00481e12
test al, al
je 0x47fe16
push 0
push dword [ebp - 8]
mov ecx, edi
call fcn.004847ad
mov dword [ebp - 0x2c], eax
jmp 0x47fe5b
mov ecx, dword [ebp - 8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47fe1c
sub ecx, edx
lea eax, [ecx + 2]
mov ecx, edi
push eax
push ebx
call fcn.004847ad
push 0
push dword [ebp - 8]
mov ebx, eax
mov ecx, edi
mov dword [ebp - 0x2c], ebx
call fcn.004847ad
push 0x2f
push eax
push ebx
mov ecx, edi
mov dword [ebp + 0x2c], eax
call fcn.004840f0
lea eax, [ebp + 0x2c]
mov ecx, edi
push eax
call fcn.004846ca
xor eax, eax
mov ecx, edi
mov ebx, eax
mov byte [ebp - 0x294], al
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 8]
mov dword [ebp - 0x18], ebx
call fcn.00481370
test al, al
je 0x480157
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00426710
pop ecx
pop ecx
test eax, eax
jne 0x48012e
push eax
push 0x10
mov ecx, edi
call fcn.00488e75
lea eax, [ebp - 0x15c]
cmp dword [ebp + 0x20], ebx
je 0x480134
push 0x4a6bf0
push eax
call fcn.004260ba
mov ebx, eax
mov dword [ebp - 0x18], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x47ff46
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.00481283
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x10], esi
test al, al
je 0x47ff38
mov ecx, dword [ebp + 0x20]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47ff0f
test dl, dl
je 0x47ff0b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47ff0f
add eax, 2
add ecx, 2
test dl, dl
jne 0x47feef
xor eax, eax
jmp 0x47ff14
sbb eax, eax
or eax, 1
mov ecx, edi
push 0
test eax, eax
je 0x47ff31
push 0x12
call fcn.00488e75
push esi
call fcn.0042490f
xor esi, esi
pop ecx
mov dword [ebp - 0x10], esi
jmp 0x47ff38
push 0x11
call fcn.00488e75
push ebx
call fcn.00426699
xor ebx, ebx
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x47ff51
push 0
push 0x22
mov ecx, edi
call fcn.00488e75
test esi, esi
je 0x48012e
xor ecx, ecx
mov al, byte [ebp + ecx - 0x15c]
mov byte [ebp + ecx - 0x294], al
inc ecx
test al, al
jne 0x47ff5b
sub esp, 0xc
lea eax, [ebp - 0x15c]
mov ecx, edi
push eax
call fcn.00481524
test al, al
je 0x480113
mov eax, dword [ebp - 0x178]
mov ecx, 0x1000
add eax, 0xffffff80
mov byte [ebp + 0x2f], 1
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jbe 0x4800da
and dword [ebp - 0x14], 0
sub eax, ecx
push ecx
push ecx
push 0
push ecx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x40]
push ecx
push eax
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0047dfcd
test al, al
je 0x4800da
mov eax, dword [ebp - 0x1c]
push ecx
sub eax, 0xffffff80
mov ecx, edi
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x15c]
push eax
call fcn.0047e2c3
test al, al
je 0x4800bd
lea eax, [ebp - 0x15c]
push 0x4a92ac
push eax
call fcn.004260ba
mov ebx, eax
mov dword [ebp - 0x18], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x4800bd
push 0
push dword [ebp - 0x1c]
lea eax, [ebp - 0x314]
mov byte [ebp + 0x2f], 0
push str.Range:bytes_llu__n
push eax
call fcn.00424b65
add esp, 0x10
lea eax, [ebp - 0x314]
mov ecx, edi
push 0
push eax
call fcn.004847ad
mov edx, eax
mov dword [ebp - 0x24], eax
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x480047
sub edx, ecx
cmp dword [ebp + 0x30], 0
mov dword [ebp - 0x3c], edx
je 0x480066
mov ecx, dword [ebp + 0x30]
push 0
push dword [ebp - 0x1c]
call fcn.00409832
mov ecx, dword [esi + 0x20]
push dword [ebp + 0x30]
mov eax, dword [ebp - 0x1c]
push ecx
push eax
movd xmm0, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr ecx, 0x1f
shr eax, 0x1f
push ecx
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x4ab860]
addsd xmm0, qword [ecx*8 + 0x4ab860]
lea eax, [ebp - 0x15c]
mov ecx, edi
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push eax
push 0x20
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
push dword [ebp - 0x14]
mov ecx, edi
call fcn.0047ec57
cmp byte [ebp + 0x2f], 0
jne 0x4800da
push 0
push 0x23
mov ecx, edi
call fcn.00488e75
jmp 0x480146
lea eax, [ebp - 0x15c]
push 0x4a6b4c
push eax
call fcn.004260ba
mov ebx, eax
mov dword [ebp - 0x18], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x480157
push esi
mov ecx, ebx
call fcn.0047e522
test al, al
jne 0x480146
push ebx
call fcn.00426699
mov byte [ebp - 0x294], 0
xor ebx, ebx
jmp 0x480142
push 0
push 0x23
mov ecx, edi
call fcn.00488e75
xor ebx, ebx
push ebx
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x294], bl
push 0x12
jmp 0x4800d1
lea eax, [ebp - 0x15c]
push 0x4a6b4c
push eax
call fcn.004260ba
pop ecx
mov ebx, eax
mov dword [ebp - 0x18], ebx
pop ecx
test ebx, ebx
je 0x480157
lea ecx, [ebp - 0x15c]
call fcn.0047e7d6
jmp 0x480162
push 0
push 0x24
mov ecx, edi
call fcn.00488e75
mov ecx, edi
call fcn.00485fe2
mov ecx, edi
push 0
test al, al
je 0x4801c0
push 0x1a
call fcn.00488e75
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x480182
mov byte [eax], 0
test ebx, ebx
je 0x48018d
push ebx
call fcn.00426699
pop ecx
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
test esi, esi
je 0x4801ae
push esi
call fcn.0042490f
pop ecx
mov ecx, edi
call fcn.00483ce2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c
push 0x13
call fcn.00488e75
xor eax, eax
push eax
push eax
push eax
push eax
push str.Mozilla_5.0__Windows__U__Windows_NT_5.1__en_GB__rv:1.9.0.5__Gecko_2008120122_Firefox_3.0.5
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, eax
mov dword [ebp - 0x34], ecx
test ecx, ecx
jne 0x480217
and dword [ebp + 0x30], eax
lea ecx, [ebp + 0x30]
call fcn.00465e7f
mov ebx, dword [ebp + 0x30]
test ebx, ebx
je 0x48018d
xor eax, eax
push eax
push eax
push eax
push ecx
and dword [esp], eax
mov ecx, edi
push ebx
push 0x11
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
push ebx
call fcn.004249b0
jmp 0x48018c
mov eax, dword [edi + 0x28]
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionA]
push 4
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push 6
push ecx
call esi
push 4
lea eax, [ebp - 0x44]
push eax
push 2
push dword [ebp - 0x34]
call esi
push 4
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x3180
push eax
push 0x1f
push dword [ebp - 0x34]
call esi
push 0
push 0x14
mov ecx, edi
call fcn.00488e75
push 0
push 0x40300
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
mov ecx, edi
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x28], esi
push eax
call fcn.004846ca
xor eax, eax
mov dword [ebp - 0x4c], 0x400
mov dword [ebp - 0xc], eax
test esi, esi
jne 0x48036d
xor ebx, ebx
lea ecx, [ebp + 0x30]
mov dword [ebp + 0x30], ebx
call fcn.00465e7f
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x714]
push eax
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoA]
push ebx
push ebx
push ebx
push ecx
and dword [esp], ebx
lea eax, [ebp - 0x714]
push eax
push 0x11
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x14]
call fcn.00483c46
lea eax, [ebp - 0x714]
push eax
mov eax, dword [ebp + 0x30]
push ebx
push dword [ebp - 0x48]
cdq
push edx
push eax
lea eax, [ebp - 0xb4c]
push str._s____llu_::__s
push eax
call fcn.00424b65
add esp, 0x1c
push dword [ebp + 0x30]
call fcn.004249b0
pop ecx
push ebx
push ebx
push ebx
push ecx
and dword [esp], ebx
lea eax, [ebp - 0xb4c]
push eax
push 0x11
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x14]
call fcn.00483c46
push dword [ebp - 0x34]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x48034e
push ebx
call fcn.0042490f
pop ecx
mov ecx, edi
call fcn.00483ce2
test al, al
je 0x4801b5
push 0
push 0x28
mov ecx, edi
call fcn.00488e75
jmp 0x4801b5
mov ecx, dword [edi + 0x124]
call fcn.0047acbd
mov ecx, dword [edi + 0x144]
test ecx, ecx
je 0x48038c
mov eax, dword [edi + 0x1c]
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], 0
mov ecx, dword [edi + 0x124]
call fcn.0047ac30
push 0x13
push esi
mov byte [ebp + 0x2f], 0
call fcn.00481a77
cmp dword [ebp - 0x24], 0
mov esi, eax
mov dword [ebp - 0x40], esi
je 0x4803b9
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.004846ca
and dword [ebp - 0x30], 0
cmp byte [edi + 0x13], 0
mov byte [ebp - 0x1d], 0
je 0x480433
mov eax, 0x1f4
cmp esi, eax
ja 0x480405
je 0x4803ff
mov eax, esi
sub eax, 0x12d
je 0x4803f9
sub eax, 0x66
je 0x4803f3
dec eax
je 0x4803ed
sub eax, 0xc
jne 0x480433
push eax
push 0x2c
jmp 0x48042c
push 0
push 0x2b
jmp 0x48042c
push 0
push 0x2a
jmp 0x48042c
push 0
push 0x29
jmp 0x48042c
push 0
push 0x2d
jmp 0x48042c
mov eax, esi
sub eax, 0x1f5
je 0x480428
dec eax
je 0x480422
dec eax
je 0x48041c
dec eax
jne 0x480433
push eax
push 0x31
jmp 0x48042c
push 0
push 0x30
jmp 0x48042c
push 0
push 0x2f
jmp 0x48042c
push 0
push 0x2e
mov ecx, edi
call fcn.00488e75
mov eax, esi
sub eax, 0xc8
je 0x48067e
sub eax, 6
je 0x48067e
sub eax, 0xc6
je 0x48061c
sub eax, 0xc
mov eax, dword [ebp + 0x28]
je 0x4805c1
test eax, eax
je 0x480467
mov byte [eax], 0
test ebx, ebx
je 0x480472
push ebx
call fcn.00426699
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00427d04
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00427d04
mov ebx, dword [ebp - 8]
pop ecx
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x480494
sub ecx, edx
lea eax, [ecx + 0x20]
mov ecx, edi
push eax
push 0
call fcn.004847ad
mov ecx, dword [ebp - 0x40]
mov esi, eax
push 0
push ecx
push ebx
push str._s_llu
push esi
mov dword [ebp + 0x24], esi
call fcn.00424b65
add esp, 0x14
xor eax, eax
push eax
push eax
push eax
push ecx
and dword [esp], eax
mov ecx, edi
push esi
push 0x10
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
lea eax, [ebp + 0x24]
mov ecx, edi
push eax
call fcn.004846ca
mov ebx, dword [ebp - 0x10]
push dword [ebp - 0x28]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x34]
call esi
mov esi, dword [ebp - 0xc]
test ebx, ebx
je 0x480530
cmp esi, dword [ebx + 0x20]
je 0x480511
test esi, esi
je 0x480530
cmp dword [ebx + 0x20], 0
jne 0x480530
push dword [ebp + 0x30]
push esi
push esi
push ecx
mov dword [esp], 0x42c80000
mov ecx, edi
push dword [ebp - 8]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
push ebx
call fcn.0042490f
pop ecx
test esi, esi
je 0x480563
mov ecx, dword [edi + 0x124]
call fcn.0047acbd
mov eax, dword [edi + 0x144]
test eax, eax
je 0x480558
add dword [eax + 8], 1
adc dword [eax + 0xc], 0
mov ecx, dword [edi + 0x124]
call fcn.0047ac30
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
mov ecx, edi
call fcn.00483ce2
test al, al
je 0x4801b5
lea ecx, [ebp - 0x294]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x480591
sub ecx, edx
je 0x4805a9
lea eax, [ebp - 0x294]
push eax
call fcn.00427d04
pop ecx
cmp byte [ebp + 0x2f], 0
jne 0x4805ba
push 0
push 0x1e
mov ecx, edi
call fcn.00488e75
mov eax, esi
jmp 0x4801b7
test eax, eax
je 0x4805c8
mov byte [eax], 1
test ebx, ebx
je 0x4805d3
push ebx
call fcn.00426699
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00427d04
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00427d04
pop ecx
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x24], eax
jne 0x4805fe
mov eax, dword [ebp + 0x10]
mov dword [eax], ecx
push ecx
push ecx
push ecx
push ecx
and dword [esp], ecx
mov ecx, edi
push dword [ebp - 8]
push 3
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
jmp 0x4804e8
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x480626
mov byte [eax], 0
test ebx, ebx
je 0x480631
push ebx
call fcn.00426699
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00427d04
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00427d04
pop ecx
xor ebx, ebx
push ebx
push ebx
push ebx
push ecx
and dword [esp], ebx
mov ecx, edi
push dword [ebp - 8]
push 6
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
mov eax, ebx
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x24], eax
jne 0x4804e8
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
jmp 0x4804e8
push 5
push dword [ebp - 0x28]
call fcn.00481a77
mov esi, dword [ebp - 0x10]
mov edx, eax
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
add eax, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
movss dword [ebp - 0x2c], xmm0
test esi, esi
jne 0x480706
push 0x24
call fcn.0042493a
mov esi, eax
mov dword [ebp - 0x10], esi
pop ecx
test esi, esi
je 0x4806dc
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4806d1
mov edx, esi
mov ecx, eax
sub edx, eax
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x4806c5
jmp 0x4806d4
mov byte [esi], 0
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x20], eax
jmp 0x4806e1
xor esi, esi
mov dword [ebp - 0x10], esi
push dword [ebp + 0x30]
push dword [esi + 0x20]
push 0
push ecx
and dword [esp], 0
mov ecx, edi
push dword [ebp - 8]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x24], ecx
test edx, edx
je 0x480b43
test ebx, ebx
je 0x480821
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xce
jne 0x4807cb
mov eax, dword [esi + 0x20]
sub eax, dword [ebp - 0x178]
add eax, 0x1080
cmp edx, eax
je 0x48081d
push ebx
call fcn.00426699
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
pop ecx
push dword [ebp - 0x28]
call esi
push dword [ebp - 0x34]
call esi
lea eax, [ebp - 0x15c]
push eax
call fcn.00427d04
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00427d04
pop ecx
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
mov ebx, dword [ebp - 0x10]
push ebx
call fcn.0042490f
pop ecx
mov ecx, edi
call fcn.00483ce2
test al, al
je 0x4801b5
push 0
push 0
push dword [ebp + 0x28]
mov ecx, edi
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0047fd7e
jmp 0x4801b7
cmp ecx, 0xc8
jne 0x48081d
push ebx
mov dword [esi + 0x20], eax
call fcn.00426699
lea eax, [ebp - 0x15c]
mov dword [esp], 0x4a6b4c
push eax
call fcn.004260ba
pop ecx
pop ecx
mov ebx, eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x18], ebx
call fcn.0047e7d6
test ebx, ebx
je 0x480821
push esi
mov ecx, ebx
call fcn.0047e522
test al, al
jne 0x48081d
push ebx
call fcn.00426699
xor ebx, ebx
pop ecx
mov dword [ebp - 0x18], ebx
test ebx, ebx
jne 0x48084d
mov eax, dword [ebp - 0xc]
mov ecx, edi
add eax, dword [ebp + 0x1c]
push eax
call fcn.0047ed56
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x48084a
test esi, esi
je 0x4801b5
push esi
call fcn.0042490f
pop ecx
jmp 0x4801b5
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x40], edx
test esi, esi
je 0x480d09
mov ecx, edx
mov eax, edx
sub eax, ecx
cmp eax, dword [edi + 0x20]
jbe 0x4808c8
push dword [ebp + 0x30]
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov ecx, dword [ebp - 0xc]
push ecx
push eax
imul eax, eax, 0x64
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
push ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x4ab860]
mov eax, ecx
mov ecx, edi
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4ab860]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push dword [ebp - 8]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x40], ecx
sub esi, ecx
mov eax, 0x1000
cmp esi, eax
cmovg esi, eax
and dword [ebp + 8], 0
test ebx, ebx
je 0x480a07
mov ecx, edi
mov byte [ebp + 0xf], 0
call fcn.004833d2
test al, al
je 0x480927
mov bl, byte [ebp + 0xf]
test bl, bl
jne 0x480901
push 0
push 0x1b
mov ecx, edi
call fcn.00488e75
push 0xfa
mov bl, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
call fcn.004833d2
test al, al
jne 0x4808f2
mov ebx, dword [ebp - 0x18]
mov ecx, edi
push 0
push 0x1c
call fcn.00488e75
push 0
push 0x15
mov ecx, edi
call fcn.00488e75
mov ecx, edi
call fcn.00485fe2
test al, al
jne 0x480b06
lea eax, [ebp + 8]
push eax
push esi
lea eax, [ebp - 0x1b4c]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x480a2d
cmp byte [edi + 0x8c], 0
je 0x480991
mov ecx, dword [edi + 0x84]
call fcn.0047acbd
mov ecx, dword [edi + 0x88]
call fcn.0047acbd
mov eax, dword [edi + 0x80]
mov byte [eax], 1
mov ecx, dword [edi + 0x88]
call fcn.0047ac30
push ebx
push dword [ebp + 8]
lea eax, [ebp - 0x1b4c]
push 1
push eax
call fcn.004265ab
push ebx
mov esi, eax
call fcn.00428010
add esp, 0x14
mov ecx, edi
cmp esi, dword [ebp + 8]
setne byte [ebp + 0xf]
call fcn.00485fe2
test al, al
jne 0x480a96
cmp byte [ebp + 0xf], al
jne 0x480a96
mov ecx, dword [edi + 0x88]
call fcn.0047acbd
cmp dword [edi + 0x80], 0
je 0x4809ec
mov ecx, dword [edi + 0x84]
call fcn.0047ac30
mov ecx, dword [edi + 0x88]
call fcn.0047ac30
cmp byte [edi + 0x75], 0
je 0x480a2d
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x480a2d
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x2c]
push esi
add eax, ecx
push eax
push dword [ebp - 0x28]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x480a2d
push eax
push 0x16
mov ecx, edi
mov byte [ebp + 0x2f], 1
call fcn.00488e75
cmp dword [ebp + 8], 0
jbe 0x480d09
mov ecx, dword [edi + 0x124]
call fcn.0047acbd
mov ecx, dword [edi + 0x144]
test ecx, ecx
je 0x480a55
mov eax, dword [ebp + 8]
add dword [ecx], eax
adc dword [ecx + 4], 0
mov ecx, dword [edi + 0x124]
call fcn.0047ac30
mov ecx, edi
call fcn.0047b03d
cmp dword [ebp + 0x30], 0
je 0x480a7a
mov ecx, dword [ebp + 0x30]
push 0
push dword [ebp + 8]
call fcn.00409832
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x24], ecx
cmp ecx, esi
jae 0x480d09
mov edx, dword [ebp - 0x40]
jmp 0x48085f
mov ecx, dword [edi + 0x88]
call fcn.0047acbd
cmp dword [edi + 0x80], 0
je 0x480ab5
mov ecx, dword [edi + 0x84]
call fcn.0047ac30
mov ecx, dword [edi + 0x88]
call fcn.0047ac30
push dword [ebp + 0x28]
lea eax, [ebp - 0x294]
mov ecx, edi
push eax
lea eax, [ebp - 0x15c]
push eax
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x28]
call fcn.00480f20
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4801ae
push ebx
jmp 0x4801a8
push dword [ebp + 0x28]
lea eax, [ebp - 0x294]
mov ecx, edi
push eax
lea eax, [ebp - 0x15c]
push eax
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x28]
call fcn.00480f20
lea eax, [ebp - 8]
mov ecx, edi
push eax
call fcn.004846ca
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.004846ca
mov esi, dword [ebp - 0x10]
jmp 0x4801a3
push ecx
mov dword [ebp + 8], ecx
mov ecx, edi
push 0x15
mov byte [ebp - 0x1d], 1
call fcn.00488e75
mov esi, dword [ebp - 0xc]
push dword [ebp + 0x30]
movss xmm0, dword [ebp - 0x2c]
push esi
push dword [ebp - 0x1c]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push dword [ebp - 8]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
movss xmm1, dword [ebp - 0x2c]
movss xmm0, dword [0x4ab7dc]
comiss xmm0, xmm1
jbe 0x480ba5
subss xmm0, xmm1
mulss xmm0, dword [0x4ab7a8]
addss xmm0, xmm1
movaps xmm1, xmm0
movss dword [ebp - 0x2c], xmm1
mov ecx, edi
test ebx, ebx
je 0x480c43
push 0
push 0x15
call fcn.00488e75
lea eax, [ebp + 0xc]
push eax
push 0x1000
lea eax, [ebp - 0x1b4c]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.WININET.dll_InternetReadFile]
add esi, dword [ebp + 0xc]
mov ecx, dword [edi + 0x124]
mov dword [ebp + 0x2c], eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], esi
call fcn.0047acbd
mov edx, dword [edi + 0x144]
test edx, edx
je 0x480bfb
mov ecx, dword [ebp + 0xc]
add dword [edx], ecx
adc dword [edx + 4], 0
mov ecx, dword [edi + 0x124]
call fcn.0047ac30
mov ecx, edi
call fcn.0047b03d
mov ecx, edi
call fcn.00485fe2
test al, al
jne 0x480cbb
push ebx
push dword [ebp + 0xc]
lea eax, [ebp - 0x1b4c]
push 1
push eax
call fcn.004265ab
add esp, 0x10
cmp eax, dword [ebp + 0xc]
jne 0x480cbb
push ebx
call fcn.00428010
pop ecx
jmp 0x480c96
mov eax, dword [ebp + 8]
add eax, 0x1000
push eax
push dword [ebp - 0x30]
mov dword [ebp + 8], eax
call fcn.0047ee8b
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4801b5
lea ecx, [ebp + 0xc]
add eax, esi
push ecx
push 0x1000
push eax
push dword [ebp - 0x28]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0xc]
add esi, eax
cmp dword [ebp + 0x30], 0
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], esi
je 0x480c99
mov ecx, dword [ebp + 0x30]
push 0
push eax
call fcn.00409832
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x2c], 0
je 0x480ca7
test eax, eax
jne 0x480b57
push 0
push 0x1f
mov ecx, edi
call fcn.00488e75
mov byte [ebp + 0x2f], 1
mov dword [ebp - 0x24], esi
jmp 0x480d0c
push ebx
call fcn.00426699
movss xmm0, dword [ebp - 0x2c]
lea eax, [ebp - 0x15c]
pop ecx
push dword [ebp + 0x30]
push esi
push dword [ebp - 0x1c]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push eax
push 8
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x480cf4
mov byte [eax], 1
push dword [ebp - 0x28]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x34]
call esi
jmp 0x480adf
mov esi, dword [ebp - 0xc]
test ebx, ebx
je 0x480e74
push ebx
call fcn.00426699
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x10]
pop ecx
mov ecx, dword [ebp - 0x1c]
add eax, ecx
cmp esi, eax
je 0x480d42
xor eax, eax
cmp dword [ebx + 0x20], eax
je 0x480d42
push eax
push eax
push eax
push ecx
and dword [esp], eax
push dword [ebp - 8]
push 5
jmp 0x480eb5
mov eax, dword [ebx + 0x20]
neg eax
push ecx
push ecx
sbb eax, eax
and eax, 0x80
push eax
push ecx
push ecx
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0047dfcd
test al, al
jne 0x480d7e
xor esi, esi
mov dword [ebp - 0xc], esi
cmp dword [ebp + 0x24], esi
jne 0x480d84
mov ecx, dword [ebp + 0x10]
and dword [ecx], esi
jmp 0x480d84
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xc], esi
cmp byte [ebp - 0x1d], 0
jne 0x480d97
lea eax, [ebp - 0x15c]
push eax
call fcn.00427d04
pop ecx
cmp dword [ebp + 0x20], 0
je 0x480e77
push 0x4a8a0c
push dword [ebp + 0x20]
call fcn.00424ef0
pop ecx
pop ecx
test eax, eax
jne 0x480e77
and dword [ebp + 0xc], eax
mov ecx, edi
lea eax, [ebp + 0xc]
push eax
push esi
push dword [ebp - 0x30]
call fcn.00484690
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0xc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x480df0
test dl, dl
je 0x480dec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x480df0
add eax, 2
add ecx, 2
test dl, dl
jne 0x480dd0
xor eax, eax
jmp 0x480df5
sbb eax, eax
or eax, 1
test eax, eax
je 0x480e67
cmp byte [edi + 8], 0
je 0x480e1a
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.0047ef24
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x24], eax
jne 0x480e1a
mov eax, dword [ebp + 0x10]
and dword [eax], 0
inc dword [edi + 0x134]
cmp dword [edi + 0x90], 0
jne 0x480e4a
push dword [ebp + 0xc]
push dword [ebp + 0x20]
push dword [ebp - 8]
push str.file_at__s_fails_hash_check__check:__s__file:__s_
call fcn.00425e56
add eax, 0x40
push eax
call fcn.00426340
add esp, 0x14
jmp 0x480e67
push 0
push 0
push 0
push ecx
and dword [esp], 0
mov ecx, edi
push dword [ebp - 8]
push 4
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00483c46
lea eax, [ebp + 0xc]
mov ecx, edi
push eax
call fcn.004846ca
jmp 0x480e77
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x480ec7
cmp dword [ebp + 0x24], 0
je 0x480ec7
push ecx
mov ecx, dword [ebp + 0x24]
mov dl, 1
call fcn.0047e5b4
pop ecx
test al, al
je 0x480ea7
push ecx
push esi
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp + 0x24]
call fcn.0047e2c3
test al, al
jne 0x480ec7
xor eax, eax
push eax
push eax
push eax
push ecx
and dword [esp], eax
push dword [ebp + 0x24]
push 8
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x14]
call fcn.00483c46
xor esi, esi
mov dword [ebp - 0xc], esi
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x480ed5
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
jmp 0x480ee3
lea eax, [ebp - 0x30]
mov ecx, edi
push eax
call fcn.0047ef24
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x480f0d
test esi, esi
je 0x480f0d
cmp dword [ebp + 0x24], 0
jne 0x480f0d
add eax, esi
push eax
push dword [ecx]
mov ecx, edi
call fcn.0047ee8b
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
test eax, eax
je 0x4801b5
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4804eb
mov byte [eax], 1
jmp 0x4804eb