Function at 0x429e8b
Capabilities:
Check http status code
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Reference http user-agent string
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1b50
call fcn.00454b50
push ebx
push esi
mov ebx, ecx
push edi
mov esi, ebx
mov dword [ebp - 0x3c], ebx
call fcn.00425f21
test al, al
jne 0x429eb2
xor eax, eax
jmp 0x42afba
push 0
push dword [ebp + 0xc]
mov edi, ebx
call fcn.0042c787
push 0
push dword [ebp + 8]
mov esi, eax
mov dword [ebp - 0x14], esi
call fcn.0042c787
and dword [ebp - 0xc], 0
mov ecx, eax
mov dword [ebp - 0x2c], ecx
test esi, esi
je 0x429eef
cmp byte [esi], 0
mov eax, esi
je 0x429eef
cmp byte [eax], 0x5c
jne 0x429ee9
mov byte [eax], 0x2f
inc eax
cmp byte [eax], 0
jne 0x429ee1
test ecx, ecx
je 0x429f08
cmp byte [ecx], 0
mov eax, ecx
je 0x429f08
cmp byte [eax], 0x5c
jne 0x429f02
mov byte [eax], 0x2f
inc eax
cmp byte [eax], 0
jne 0x429efa
mov eax, dword [ebp + 0x2c]
mov ecx, esi
call fcn.00428cc9
test al, al
je 0x429f23
push 0
push esi
call fcn.0042c787
mov dword [ebp - 0x28], eax
jmp 0x429f62
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429f28
sub eax, edi
add eax, 2
push eax
push dword [ebp - 0x2c]
mov edi, ebx
call fcn.0042c787
push 0
push esi
mov dword [ebp - 0x28], eax
call fcn.0042c787
push 0x2f
push dword [ebp - 0x28]
mov dword [ebp + 0x2c], eax
push ebx
call fcn.00429037
lea edi, [ebp + 0x2c]
mov eax, ebx
call fcn.0042c8e8
lea eax, [ebp - 0x15c]
xor edi, edi
push eax
push esi
mov eax, ebx
mov byte [ebp - 0x294], 0
mov dword [ebp - 8], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
call fcn.004298b4
mov esi, dword [ebp + 0x20]
test al, al
je 0x42a249
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00448cec
pop ecx
pop ecx
test eax, eax
jne 0x42a21f
push 0x10
mov ecx, ebx
call fcn.0043259d
lea eax, [ebp - 0x15c]
cmp esi, edi
je 0x42a225
push 0x4609fc
push eax
call fcn.004471be
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp eax, edi
je 0x42a041
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00429a64
test al, al
je 0x42a033
mov eax, dword [ebp - 0xc]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x42a008
test cl, cl
je 0x42a004
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x42a008
inc eax
inc eax
inc esi
inc esi
test cl, cl
jne 0x429fea
xor eax, eax
jmp 0x42a00d
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, ebx
cmp eax, edi
je 0x42a02a
push 0x12
xor eax, eax
call fcn.0043259d
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
mov dword [ebp - 0xc], edi
jmp 0x42a033
push 0x11
xor eax, eax
call fcn.0043259d
push dword [ebp - 8]
call fcn.0044793f
pop ecx
mov dword [ebp - 8], edi
jmp 0x42a04c
push 0x22
xor eax, eax
mov ecx, ebx
call fcn.0043259d
cmp dword [ebp - 0xc], edi
je 0x42a21f
xor eax, eax
mov cl, byte [ebp + eax - 0x15c]
mov byte [ebp + eax - 0x294], cl
inc eax
test cl, cl
jne 0x42a057
lea eax, [ebp - 0x15c]
push eax
push ebx
call fcn.0042977c
test al, al
je 0x42a1fd
mov esi, dword [ebp - 0x178]
add esi, 0xffffff80
mov dword [ebp - 0x30], esi
mov byte [ebp + 0x2f], 1
cmp esi, 0x1000
jbe 0x42a1b1
push edi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x15c]
push eax
sub esi, 0x1000
lea eax, [ebp - 0x1c]
mov ecx, ebx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], edi
call fcn.0042e016
test al, al
je 0x42a1b1
lea eax, [esi + 0x80]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x15c]
push eax
push ebx
call fcn.0042ddd2
test al, al
je 0x42a1a1
lea eax, [ebp - 0x15c]
push 0x4631a4
push eax
call fcn.004471be
pop ecx
pop ecx
mov dword [ebp - 8], eax
test eax, eax
je 0x42a1a1
xor eax, eax
push eax
push esi
lea eax, [ebp - 0x314]
push str.Range:bytes_llu__n
push eax
mov byte [ebp + 0x2f], 0
call fcn.0044688b
add esp, 0x10
push 0
lea eax, [ebp - 0x314]
push eax
mov edi, ebx
call fcn.0042c787
mov dword [ebp - 0x18], eax
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a134
sub eax, edi
cmp dword [ebp + 0x30], 0
mov dword [ebp - 0x34], eax
je 0x42a155
xor eax, eax
push eax
push esi
mov esi, dword [ebp + 0x30]
call fcn.00424dbb
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x20]
push eax
mov dword [ebp - 0x40], esi
fild dword [ebp - 0x40]
push esi
test esi, esi
jge 0x42a16d
fadd qword [0x464328]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
test eax, eax
jge 0x42a17d
fadd qword [0x464328]
fdivp st(1)
push ecx
lea eax, [ebp - 0x15c]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fstp dword [esp]
push eax
mov eax, dword [ebp + 0x30]
push 0x20
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
push dword [ebp - 0x1c]
mov edi, ebx
call fcn.0042c6f1
cmp byte [ebp + 0x2f], 0
je 0x42a1ee
lea eax, [ebp - 0x15c]
push 0x4631bc
push eax
call fcn.004471be
mov esi, eax
xor edi, edi
pop ecx
pop ecx
mov dword [ebp - 8], esi
cmp esi, edi
je 0x42a249
mov eax, dword [ebp - 0xc]
push esi
call fcn.0042dd4f
test al, al
jne 0x42a235
push esi
call fcn.0044793f
mov byte [ebp - 0x294], 0
mov dword [ebp - 8], edi
jmp 0x42a234
push 0x23
xor eax, eax
mov ecx, ebx
call fcn.0043259d
xor edi, edi
jmp 0x42a235
push 0x23
xor eax, eax
mov ecx, ebx
call fcn.0043259d
push 0x12
xor eax, eax
mov ecx, ebx
mov dword [ebp - 8], edi
mov byte [ebp - 0x294], 0
call fcn.0043259d
jmp 0x42a235
lea eax, [ebp - 0x15c]
push 0x4631bc
push eax
call fcn.004471be
pop ecx
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], edi
je 0x42a249
lea eax, [ebp - 0x15c]
push eax
call fcn.0042dac3
pop ecx
jmp 0x42a254
push 0x24
xor eax, eax
mov ecx, ebx
call fcn.0043259d
mov edi, ebx
call fcn.00426317
mov ecx, ebx
test al, al
je 0x42a2b2
push 0x1a
xor eax, eax
call fcn.0043259d
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x42a274
mov byte [eax], 0
cmp dword [ebp - 8], 0
je 0x42a283
push dword [ebp - 8]
call fcn.0044793f
pop ecx
lea edi, [ebp - 0x14]
mov eax, ebx
call fcn.0042c8e8
lea edi, [ebp - 0x2c]
mov eax, ebx
call fcn.0042c8e8
cmp dword [ebp - 0xc], 0
je 0x42a2a6
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
mov esi, ebx
call fcn.004261af
jmp 0x429eab
push 0x13
xor eax, eax
call fcn.0043259d
xor edi, edi
push edi
push edi
push edi
push edi
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 esi, eax
mov dword [ebp - 0x38], esi
cmp esi, edi
jne 0x42a30d
lea esi, [ebp + 0x30]
mov dword [ebp + 0x30], edi
call fcn.0043e844
cmp dword [ebp + 0x30], edi
je 0x42a283
fldz
push edi
push edi
push ecx
fstp dword [esp]
push dword [ebp + 0x30]
xor eax, eax
push 0x11
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
push dword [ebp + 0x30]
call fcn.00446598
jmp 0x42a282
mov eax, dword [ebx + 0x28]
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionA]
push 4
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
push 6
push esi
call edi
push 4
lea eax, [ebp - 0x48]
push eax
push 2
push esi
call edi
push 4
lea eax, [ebp - 0x4c]
push eax
push 0x1f
push esi
mov dword [ebp - 0x4c], 0x3180
call edi
push 0x14
xor eax, eax
mov ecx, ebx
call fcn.0043259d
push 0
push 0x40300
push dword [ebp - 0x34]
push dword [ebp - 0x18]
push dword [ebp - 0x28]
push esi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x20], eax
lea edi, [ebp - 0x28]
mov eax, ebx
call fcn.0042c8e8
and dword [ebp - 0x10], 0
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x54], 0x400
jne 0x42a45e
xor edi, edi
lea esi, [ebp + 0x30]
mov dword [ebp + 0x30], edi
call fcn.0043e844
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x714]
push eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoA]
fldz
push edi
push edi
push ecx
fstp dword [esp]
lea eax, [ebp - 0x714]
push eax
push 0x11
push dword [ebp + 0x18]
xor eax, eax
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
lea eax, [ebp - 0x714]
push eax
mov eax, dword [ebp + 0x30]
push edi
push dword [ebp - 0x50]
cdq
push edx
push eax
lea eax, [ebp - 0xb4c]
push str._s____llu_::__s
push eax
call fcn.0044688b
add esp, 0x1c
push dword [ebp + 0x30]
call fcn.00446598
fldz
pop ecx
push edi
push edi
push ecx
fstp dword [esp]
lea eax, [ebp - 0xb4c]
push eax
push 0x11
push dword [ebp + 0x18]
xor eax, eax
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
push dword [ebp - 0x38]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea edi, [ebp - 0x14]
mov eax, ebx
call fcn.0042c8e8
lea edi, [ebp - 0x2c]
mov eax, ebx
call fcn.0042c8e8
cmp dword [ebp - 0xc], 0
je 0x42a43f
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
mov esi, ebx
call fcn.004261af
test al, al
je 0x429eab
push 0x28
xor eax, eax
mov ecx, ebx
call fcn.0043259d
jmp 0x429eab
push dword [ebx + 0x130]
call fcn.0043d96d
mov eax, dword [ebx + 0x150]
xor esi, esi
pop ecx
cmp eax, esi
je 0x42a47f
mov ecx, dword [ebx + 0x1c]
add dword [eax + 0x10], ecx
adc dword [eax + 0x14], esi
push dword [ebx + 0x130]
call fcn.0043d981
pop ecx
push 0x13
push dword [ebp - 0x20]
mov byte [ebp + 0x2f], 0
call fcn.0042925a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], esi
je 0x42a4ab
lea edi, [ebp - 0x18]
mov eax, ebx
call fcn.0042c8e8
cmp byte [ebx + 0x13], 0
mov byte [ebp - 0x21], 0
mov dword [ebp - 0x18], esi
je 0x42a519
mov ecx, dword [ebp - 0x1c]
mov eax, 0x1f4
cmp ecx, eax
ja 0x42a4f0
je 0x42a4ec
mov eax, ecx
sub eax, 0x12d
je 0x42a4e8
sub eax, 0x66
je 0x42a4e4
dec eax
je 0x42a4e0
sub eax, 0xc
jne 0x42a519
push 0x2c
jmp 0x42a510
push 0x2b
jmp 0x42a510
push 0x2a
jmp 0x42a510
push 0x29
jmp 0x42a510
push 0x2d
jmp 0x42a510
mov eax, ecx
sub eax, 0x1f5
je 0x42a50e
dec eax
je 0x42a50a
dec eax
je 0x42a506
dec eax
jne 0x42a519
push 0x31
jmp 0x42a510
push 0x30
jmp 0x42a510
push 0x2f
jmp 0x42a510
push 0x2e
xor eax, eax
mov ecx, ebx
call fcn.0043259d
mov eax, dword [ebp - 0x1c]
sub eax, 0xc8
je 0x42a692
sub eax, 6
je 0x42a692
sub eax, 0xc6
je 0x42a62f
sub eax, 0xc
mov eax, dword [ebp + 0x28]
je 0x42a5d3
cmp eax, esi
je 0x42a54e
mov byte [eax], 0
cmp dword [ebp - 8], esi
je 0x42a55c
push dword [ebp - 8]
call fcn.0044793f
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00448669
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00448669
mov eax, dword [ebp - 0x14]
pop ecx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a57c
sub eax, edi
add eax, 0x20
push eax
push esi
mov edi, ebx
call fcn.0042c787
push esi
push dword [ebp - 0x1c]
mov dword [ebp + 0x28], eax
push dword [ebp - 0x14]
push str._s_llu
push eax
call fcn.0044688b
fldz
add esp, 0x14
push esi
push esi
push ecx
fstp dword [esp]
push dword [ebp + 0x28]
xor eax, eax
push 0x10
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
lea edi, [ebp + 0x28]
mov eax, ebx
call fcn.0042c8e8
jmp 0x42aee2
cmp eax, esi
je 0x42a5da
mov byte [eax], 1
cmp dword [ebp - 8], esi
je 0x42a5e8
push dword [ebp - 8]
call fcn.0044793f
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00448669
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00448669
pop ecx
mov dword [ebp - 0x10], esi
cmp dword [ebp + 0x24], esi
jne 0x42a60f
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
fldz
push esi
push esi
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
xor eax, eax
push 3
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
jmp 0x42aee2
mov eax, dword [ebp + 0x28]
cmp eax, esi
je 0x42a639
mov byte [eax], 0
cmp dword [ebp - 8], esi
je 0x42a647
push dword [ebp - 8]
call fcn.0044793f
pop ecx
lea eax, [ebp - 0x15c]
push eax
call fcn.00448669
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00448669
fldz
pop ecx
push esi
push esi
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
xor eax, eax
push 6
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
mov dword [ebp - 0x10], esi
cmp dword [ebp + 0x24], esi
jne 0x42aee2
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
jmp 0x42aee2
push 5
push dword [ebp - 0x20]
call fcn.0042925a
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x30]
lea esi, [eax + ecx]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], esi
jne 0x42a6fd
push 0x24
call fcn.00445998
pop ecx
test eax, eax
je 0x42a6d9
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x42a6d1
mov edi, eax
sub edi, ecx
mov dl, byte [ecx]
mov byte [edi + ecx], dl
inc ecx
test dl, dl
jne 0x42a6c5
jmp 0x42a6d4
mov byte [eax], 0
mov dword [eax + 0x20], esi
jmp 0x42a6db
xor eax, eax
push dword [eax + 0x20]
fldz
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x30]
push 0
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
xor edi, edi
xor esi, esi
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x28], edi
je 0x42ab21
cmp dword [ebp - 8], edi
je 0x42a82d
cmp dword [ebp - 0x1c], 0xce
jne 0x42a7c7
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x20]
sub eax, dword [ebp - 0x178]
add eax, 0x1080
cmp dword [ebp - 0x28], eax
je 0x42a827
push dword [ebp - 8]
call fcn.0044793f
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
pop ecx
push dword [ebp - 0x20]
call esi
push dword [ebp - 0x38]
call esi
lea eax, [ebp - 0x15c]
push eax
call fcn.00448669
pop ecx
lea eax, [ebp - 0x294]
push eax
call fcn.00448669
pop ecx
lea edi, [ebp - 0x14]
mov eax, ebx
call fcn.0042c8e8
lea edi, [ebp - 0x2c]
mov eax, ebx
call fcn.0042c8e8
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
mov esi, ebx
call fcn.004261af
test al, al
je 0x429eab
push 0
push 0
push dword [ebp + 0x28]
mov ecx, ebx
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.00429e8b
jmp 0x42afba
cmp dword [ebp - 0x1c], 0xc8
jne 0x42a827
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push dword [ebp - 8]
mov dword [edi + 0x20], eax
call fcn.0044793f
lea eax, [ebp - 0x15c]
mov dword [esp], 0x4631bc
push eax
call fcn.004471be
mov dword [ebp - 8], eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0042dac3
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x42a82d
push dword [ebp - 8]
mov eax, edi
call fcn.0042dd4f
test al, al
jne 0x42a827
push dword [ebp - 8]
call fcn.0044793f
and dword [ebp - 8], 0
pop ecx
cmp dword [ebp - 8], 0
jne 0x42a861
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x10]
add eax, ecx
push eax
mov esi, ebx
call fcn.0042c57b
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x42a85b
cmp dword [ebp - 0xc], eax
je 0x429eab
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
jmp 0x429eab
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
and dword [ebp - 0x1c], 0
cmp dword [ebp - 0x28], 0
jbe 0x42acdb
mov eax, dword [ebp - 0x1c]
sub eax, esi
cmp eax, dword [ebx + 0x20]
jbe 0x42a8c8
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x10]
add eax, esi
push eax
imul eax, eax, 0x64
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
test eax, eax
jge 0x42a895
fadd qword [0x464328]
mov eax, dword [ebp - 0x10]
fild dword [ebp - 0x10]
test eax, eax
jge 0x42a8a5
fadd qword [0x464328]
fdivp st(1)
mov eax, dword [ebp + 0x30]
push ecx
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fstp dword [esp]
push dword [ebp - 0x14]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x28]
sub eax, esi
mov ecx, 0x1000
cmp eax, ecx
mov dword [ebp - 0x44], eax
jle 0x42a8de
mov eax, ecx
mov dword [ebp - 0x44], ecx
and dword [ebp + 8], 0
cmp dword [ebp - 8], 0
je 0x42aa19
mov edi, ebx
mov byte [ebp + 0xf], 0
call fcn.004262f7
test al, al
je 0x42a931
cmp byte [ebp + 0xf], 0
jne 0x42a90c
push 0x1b
xor eax, eax
mov ecx, ebx
call fcn.0043259d
push 0xfa
mov byte [ebp + 0xf], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, ebx
call fcn.004262f7
test al, al
jne 0x42a8fb
push 0x1c
xor eax, eax
mov ecx, ebx
call fcn.0043259d
push 0x15
xor eax, eax
mov ecx, ebx
call fcn.0043259d
mov edi, ebx
call fcn.00426317
test al, al
jne 0x42aaa3
lea eax, [ebp + 8]
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x1b4c]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x42aa3e
cmp byte [ebx + 0x8c], 0
je 0x42a99e
push dword [ebx + 0x84]
call fcn.0043d96d
pop ecx
lea edi, [ebx + 0x88]
push dword [edi]
call fcn.0043d96d
mov eax, dword [ebx + 0x80]
pop ecx
mov byte [eax], 1
push dword [edi]
call fcn.0043d981
pop ecx
push dword [ebp - 8]
lea eax, [ebp - 0x1b4c]
push dword [ebp + 8]
push 1
push eax
call fcn.00448b90
push dword [ebp - 8]
mov edi, eax
call fcn.004488ee
add esp, 0x14
cmp edi, dword [ebp + 8]
mov edi, ebx
setne byte [ebp + 0xf]
call fcn.00426317
test al, al
jne 0x42aaf1
cmp byte [ebp + 0xf], al
jne 0x42aaf1
lea edi, [ebx + 0x88]
push dword [edi]
call fcn.0043d96d
cmp dword [ebx + 0x80], 0
pop ecx
je 0x42aa01
push dword [ebx + 0x84]
call fcn.0043d981
pop ecx
push dword [edi]
call fcn.0043d981
cmp byte [ebx + 0x75], 0
pop ecx
je 0x42aa3e
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42aa3e
lea ecx, [ebp + 8]
push ecx
push eax
mov eax, dword [ebp - 0x40]
add eax, esi
push eax
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x42aa3e
push 0x16
mov ecx, ebx
mov byte [ebp + 0x2f], 1
call fcn.0043259d
xor edi, edi
cmp dword [ebp + 8], edi
jbe 0x42acdb
push dword [ebx + 0x130]
call fcn.0043d96d
mov eax, dword [ebx + 0x150]
pop ecx
cmp eax, edi
je 0x42aa67
mov ecx, dword [ebp + 8]
add dword [eax], ecx
adc dword [eax + 4], edi
push dword [ebx + 0x130]
call fcn.0043d981
pop ecx
mov eax, ebx
call fcn.004313c9
cmp dword [ebp + 0x30], edi
je 0x42aa8f
mov esi, dword [ebp + 0x30]
push 0
push dword [ebp + 8]
call fcn.00424dbb
mov esi, dword [ebp - 0x34]
add esi, dword [ebp + 8]
mov dword [ebp - 0x34], esi
cmp esi, dword [ebp - 0x28]
jb 0x42a86f
jmp 0x42acdb
mov esi, edi
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 8]
mov eax, dword [ebp + 0x28]
push dword [ebp - 0x38]
lea ebx, [ebp - 0x294]
push dword [ebp - 0x20]
mov ecx, esi
call fcn.00429de6
lea edi, [ebp - 0x14]
mov eax, esi
call fcn.0042c8e8
lea edi, [ebp - 0x2c]
mov eax, esi
call fcn.0042c8e8
cmp dword [ebp - 0xc], 0
je 0x42a2a8
push dword [ebp - 0xc]
call fcn.00445940
pop ecx
jmp 0x42a2a8
lea edi, [ebx + 0x88]
push dword [edi]
call fcn.0043d96d
cmp dword [ebx + 0x80], 0
pop ecx
je 0x42ab14
push dword [ebx + 0x84]
call fcn.0043d981
pop ecx
push dword [edi]
call fcn.0043d981
mov esi, dword [ebp - 0x3c]
pop ecx
jmp 0x42aaa5
fldz
push 0x15
xor eax, eax
fstp dword [ebp + 8]
mov ecx, ebx
mov byte [ebp - 0x21], 1
mov dword [ebp + 0x2c], edi
call fcn.0043259d
mov esi, dword [ebp - 0x10]
fld dword [ebp + 8]
mov eax, dword [ebp + 0x30]
push esi
push dword [ebp - 0x30]
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
fld dword [ebp + 8]
fld qword [0x464358]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x42ab7f
fsub dword [ebp + 8]
fmul qword [0x464320]
fadd dword [ebp + 8]
fstp dword [ebp + 8]
jmp 0x42ab81
fstp st(0)
mov ecx, ebx
cmp dword [ebp - 8], edi
je 0x42ac1e
push 0x15
xor eax, eax
call fcn.0043259d
lea eax, [ebp + 0xc]
push eax
push 0x1000
lea eax, [ebp - 0x1b4c]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetReadFile]
add esi, dword [ebp + 0xc]
push dword [ebx + 0x130]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], esi
call fcn.0043d96d
mov eax, dword [ebx + 0x150]
pop ecx
cmp eax, edi
je 0x42abd5
mov ecx, dword [ebp + 0xc]
add dword [eax], ecx
adc dword [eax + 4], edi
push dword [ebx + 0x130]
call fcn.0043d981
pop ecx
mov eax, ebx
call fcn.004313c9
mov edi, ebx
call fcn.00426317
test al, al
jne 0x42ac7c
push dword [ebp - 8]
lea eax, [ebp - 0x1b4c]
push dword [ebp + 0xc]
push 1
push eax
call fcn.00448b90
add esp, 0x10
cmp eax, dword [ebp + 0xc]
jne 0x42ac7c
push dword [ebp - 8]
call fcn.004488ee
pop ecx
jmp 0x42ac69
mov eax, dword [ebp - 0x18]
mov edi, 0x1000
add dword [ebp + 0x2c], edi
push dword [ebp + 0x2c]
call fcn.0042c4e2
mov dword [ebp - 0x18], eax
test eax, eax
je 0x429eab
lea ecx, [ebp + 0xc]
push ecx
push edi
add eax, esi
push eax
push dword [ebp - 0x20]
call dword [sym.imp.WININET.dll_InternetReadFile]
add esi, dword [ebp + 0xc]
cmp dword [ebp + 0x30], 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], esi
je 0x42ac69
mov esi, dword [ebp + 0x30]
push 0
push dword [ebp + 0xc]
call fcn.00424dbb
cmp dword [ebp - 0x3c], 0
je 0x42acc9
cmp dword [ebp + 0xc], 0
jbe 0x42acc9
xor edi, edi
jmp 0x42ab38
push dword [ebp - 8]
call fcn.0044793f
fld dword [ebp + 8]
pop ecx
push dword [ebp - 0x10]
lea eax, [ebp - 0x15c]
push dword [ebp - 0x30]
push ecx
fstp dword [esp]
push eax
mov eax, dword [ebp + 0x30]
push 8
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x42acb4
mov byte [eax], 1
push dword [ebp - 0x20]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push dword [ebp - 0x38]
call edi
jmp 0x42a283
push 0x1f
xor eax, eax
mov ecx, ebx
call fcn.0043259d
mov esi, dword [ebp - 0x10]
mov byte [ebp + 0x2f], 1
cmp dword [ebp - 8], 0
mov edi, dword [ebp + 0x10]
je 0x42ae4b
push dword [ebp - 8]
call fcn.0044793f
mov eax, dword [ebp - 0x30]
add esi, eax
pop ecx
cmp dword [ebp - 0x10], esi
je 0x42ad28
mov eax, dword [ebp - 0xc]
xor esi, esi
cmp dword [eax + 0x20], esi
je 0x42ad28
fldz
push esi
push esi
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
xor eax, eax
push 5
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
mov dword [ebp - 0x10], esi
jmp 0x42ae96
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x20]
neg eax
sbb eax, eax
and eax, 0x80
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x18]
mov ecx, ebx
call fcn.0042e016
test al, al
jne 0x42ad5d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x24], eax
jne 0x42ad5d
mov dword [edi], eax
cmp byte [ebp - 0x21], 0
jne 0x42ad70
lea eax, [ebp - 0x15c]
push eax
call fcn.00448669
pop ecx
cmp dword [ebp + 0x20], 0
je 0x42ae4b
push 0x462b5c
push dword [ebp + 0x20]
call fcn.00445cf0
pop ecx
pop ecx
test eax, eax
jne 0x42ae4b
and dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
push dword [ebp - 0x10]
mov eax, ebx
push dword [ebp - 0x18]
call fcn.00429740
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x42adc9
test cl, cl
je 0x42adc5
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x42adc9
inc eax
inc eax
inc esi
inc esi
test cl, cl
jne 0x42adab
xor eax, eax
jmp 0x42adce
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42ae3e
cmp byte [ebx + 8], 0
je 0x42adf2
lea esi, [ebp - 0x18]
mov eax, ebx
call fcn.0042c479
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x24], eax
jne 0x42adf4
mov ecx, edi
mov dword [ecx], eax
jmp 0x42adf4
xor eax, eax
inc dword [ebx + 0x140]
cmp dword [ebx + 0x90], eax
jne 0x42ae23
push dword [ebp + 0xc]
push dword [ebp + 0x20]
push dword [ebp - 0x14]
push str.file_at__s_fails_hash_check__check:__s__file:__s_
call fcn.00446f45
add eax, 0x40
push eax
call fcn.00447492
add esp, 0x14
jmp 0x42ae3e
fldz
push eax
push eax
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
xor eax, eax
push 4
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
lea edi, [ebp + 0xc]
mov eax, ebx
call fcn.0042c8e8
mov edi, dword [ebp + 0x10]
cmp dword [ebp - 0x10], 0
je 0x42ae96
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x42ae96
push 1
mov eax, esi
call fcn.0042db1e
pop ecx
test al, al
je 0x42ae77
push dword [ebp - 0x10]
push dword [ebp - 0x18]
push esi
push ebx
call fcn.0042ddd2
test al, al
jne 0x42ae96
fldz
push 0
push 0
push ecx
fstp dword [esp]
push esi
push 8
push dword [ebp + 0x18]
xor eax, eax
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
and dword [ebp - 0x10], 0
test edi, edi
je 0x42aea1
mov eax, dword [ebp - 0x18]
mov dword [edi], eax
jmp 0x42aeae
lea esi, [ebp - 0x18]
mov eax, ebx
call fcn.0042c479
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x42aed8
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x42aed8
cmp dword [ebp + 0x24], 0
jne 0x42aed8
add ecx, eax
mov eax, dword [edi]
push ecx
mov ecx, ebx
call fcn.0042c4e2
mov dword [edi], eax
test eax, eax
je 0x429eab
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x42aee2
mov byte [eax], 1
push dword [ebp - 0x20]
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push dword [ebp - 0x38]
call edi
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x42af2b
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
je 0x42af0b
test ecx, ecx
jbe 0x42af2b
test eax, eax
jne 0x42af2b
fld dword [0x464350]
mov eax, dword [ebp + 0x30]
push ecx
push ecx
push ecx
fstp dword [esp]
push dword [ebp - 0x14]
push 0x1b
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ebx
call fcn.00426b90
push esi
call fcn.00445940
cmp dword [ebp - 0x10], 0
pop ecx
je 0x42af62
push dword [ebx + 0x130]
call fcn.0043d96d
mov eax, dword [ebx + 0x150]
pop ecx
test eax, eax
je 0x42af56
add dword [eax + 8], 1
adc dword [eax + 0xc], 0
push dword [ebx + 0x130]
call fcn.0043d981
pop ecx
lea edi, [ebp - 0x14]
mov eax, ebx
call fcn.0042c8e8
lea edi, [ebp - 0x2c]
mov eax, ebx
call fcn.0042c8e8
mov esi, ebx
call fcn.004261af
test al, al
je 0x429eab
lea eax, [ebp - 0x294]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42af8e
sub eax, edx
je 0x42afa6
lea eax, [ebp - 0x294]
push eax
call fcn.00448669
pop ecx
cmp byte [ebp + 0x2f], 0
jne 0x42afb7
push 0x1e
xor eax, eax
mov ecx, ebx
call fcn.0043259d
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
leave
ret 0x2c