Function at 0x42d2e0
Capabilities:
Get common file path
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca2ed
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x8de4
call fcn.004aa8c0
mov eax, dword [0x524ee0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x8dac], edi
mov dword [ebp - 0x8df4], edi
call fcn.00431340
test al, al
jne 0x42d398
mov eax, dword [0x4e3110]
movq xmm0, qword [str.UlPEEt7SonlyLN]
mov dword [ebp - 0x8de8], eax
mov ax, word [0x4e3114]
mov word [ebp - 0x8de4], ax
mov al, byte [0x4e3116]
mov byte [ebp - 0x8de2], al
lea eax, [ebp - 0x8df0]
movq qword [ebp - 0x8df0], xmm0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42d370
sub eax, edx
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a7aa0
push eax
call fcn.004a98f0
add esp, 8
mov eax, dword [edi + 0x78]
cmp dword [eax - 0xc], 0
je 0x42dfe5
add eax, 0xfffffff0
push eax
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x8dc0], eax
push dword [edi + 0x4c]
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
push str.97afada1bcb3a5a891
call fcn.00401ff0
lea eax, [ebp - 0x8dbc]
push eax
call fcn.00451b30
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x8dc0]
mov byte [ebp - 4], 1
call fcn.004231e0
mov edx, dword [ebp - 0x8dbc]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42d417
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004312e0
test al, al
jne 0x42d516
mov ecx, dword [0x526340]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x8dbc], eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x8ddc], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x8dd4], eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x8dd8], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x8dcc], eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x8de0], eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x8dd0], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x8db4], eax
mov dword [ebp - 0x8db0], 0
lea esi, [ebp - 0x8c9b]
xor eax, eax
jmp 0x42d4e0
mov edx, dword [0x526340]
mov cl, dl
sub cl, al
mov edi, 1
mov ebx, 8
add esi, 9
inc edi
dec ebx
jne 0x42d4f4
mov eax, dword [ebp - 0x8db0]
inc eax
mov dword [ebp - 0x8db0], eax
cmp eax, 0xf
jl 0x42d4e0
mov edi, dword [ebp - 0x8dac]
or ebx, 0xffffffff
lea eax, [ebp - 0x8de0]
push eax
call fcn.004514f0
add esp, 4
mov esi, eax
push 0x4e3148
lea ecx, [ebp - 0x8dd0]
mov byte [ebp - 4], 2
call fcn.00401ff0
push 0x4e3140
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 3
call fcn.0040b6c0
push esi
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 4
call fcn.0040b600
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp - 0x8dc0]
push dword [eax - 0xc]
mov byte [ebp - 4], 5
push eax
call fcn.0040b920
mov edx, dword [ebp - 0x8dac]
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 0x42d59e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d5c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8dd0]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d5e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8de0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d607
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00431430
test al, al
jne 0x42d61b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x526340], eax
mov eax, dword [0x524ab0]
mov ecx, 0x524ab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x8dc4], eax
lea eax, [ebp - 0x8dc4]
push eax
lea eax, [ebp - 0x8dc0]
push eax
lea eax, [ebp - 0x8dc8]
push eax
mov byte [ebp - 4], 6
call fcn.00436c20
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 7
call fcn.00434520
mov ecx, dword [eax]
xor eax, eax
add esp, 0x10
test ecx, ecx
setne al
test eax, eax
jne 0x42d679
push 0x80004005
call fcn.00404410
mov eax, dword [ebp - 0x8dc8]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42d6a6
test dx, dx
je 0x42d6a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42d6a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42d680
xor eax, eax
jmp 0x42d6ab
sbb eax, eax
or eax, 1
mov edx, dword [ebp - 0x8dac]
test eax, eax
sete byte [ebp - 0x8db5]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d6d3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x8db5], 0
je 0x42d8db
mov esi, dword [0x526340]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0xc
idiv ecx
cmp edx, 2
jne 0x42d761
test esi, esi
je 0x42d761
mov ecx, esi
and ecx, 0x80000001
jns 0x42d712
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x42d71f
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x42d726
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x526340], esi
sub ecx, 0
je 0x42d750
sub ecx, 2
je 0x42d753
dec ecx
je 0x42d754
jmp 0x42d75d
add esi, 2
inc esi
add esi, 2
mov dword [0x526340], esi
test esi, esi
jne 0x42d703
lea eax, [ebp - 0x8dc4]
push eax
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b3a498989cbe899d99899f98b3
call fcn.00401ff0
lea eax, [ebp - 0x8dd0]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 8
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8db0], eax
push esi
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 9
call fcn.0043fc20
add esp, 0xc
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0xa
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.004305c0
mov edx, dword [ebp - 0x8dac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xa
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d7ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d822
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db0]
add edx, 0xfffffff0
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d845
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8dd0]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
mov byte [ebp - 4], 7
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d868
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc8]
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d88b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d8ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc0]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x42dfe5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42dfe5
mov eax, dword [ebp - 0x8dc8]
cmp dword [eax - 0xc], 0
jne 0x42d99c
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b39f989ea69f8382b389819c9895
call fcn.00401ff0
lea eax, [ebp - 0x8db4]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 0xc
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8db0], eax
push esi
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0xd
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.004305c0
mov edx, dword [ebp - 0x8dac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d96e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42d991
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
jmp 0x42d84b
lea ecx, [ebp - 0x8d34]
push 3
mov dword [ebp - 0x8d38], ecx
push eax
lea ecx, [ebp - 0x8d38]
mov byte [ebp - 4], 0xf
call fcn.0042fc30
mov edx, dword [ebp - 0x8d38]
mov dword [ebp - 0x8ca0], 0xf
mov dword [ebp - 0x8ca4], 0
mov byte [ebp - 0x8cb4], 0
cmp byte [edx], 0
mov byte [ebp - 4], 0x10
jne 0x42d9e8
xor ecx, ecx
jmp 0x42d9f9
mov ecx, edx
lea esi, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d9f0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x8cb4]
call fcn.00401460
lea ecx, [ebp - 0x8da8]
mov byte [ebp - 4], 0x11
call fcn.00440450
mov byte [ebp - 4], 0x12
call fcn.00431540
test al, al
jne 0x42da48
mov eax, 0x7d
mov esi, 0x6e
lea esp, [esp]
test esi, esi
je 0x42da41
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x42da30
add eax, esi
mov dword [0x526340], eax
push 0
lea ecx, [ebp - 0x8df0]
call fcn.00444480
push 1
lea eax, [ebp - 0x8df0]
push eax
lea eax, [ebp - 0x8cb4]
push eax
lea ecx, [ebp - 0x8da8]
mov byte [ebp - 4], 0x13
call fcn.004427c0
test al, al
jne 0x42dbb3
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b39c8d9e9f89b3899e9e839e
call fcn.00401ff0
lea eax, [ebp - 0x8db4]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 0x14
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8db0], eax
push esi
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0x15
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x16
call fcn.004305c0
mov edx, dword [ebp - 0x8dac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x15
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42daff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x14
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42db22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
mov byte [ebp - 4], 0x13
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42db45
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x12
call fcn.00444690
lea ecx, [ebp - 0x8da8]
call fcn.0041f6b0
cmp dword [ebp - 0x8ca0], 0x10
jb 0x42db76
push dword [ebp - 0x8cb4]
call fcn.004a831e
add esp, 4
mov eax, dword [ebp - 0x8d38]
lea ecx, [ebp - 0x8d34]
mov byte [ebp - 0x8cb4], 0
mov dword [ebp - 0x8ca4], 0
mov dword [ebp - 0x8ca0], 0xf
cmp eax, ecx
je 0x42d868
push eax
call fcn.004a976a
add esp, 4
jmp 0x42d868
push str._L_update_low_ver
lea ecx, [ebp - 0x8db0]
call fcn.00420e30
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 0x17
call fcn.004526c0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x8dac]
mov byte [ebp - 4], 0x18
call fcn.00428440
push dword [eax]
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x19
call fcn.00444920
mov ecx, eax
call fcn.00445a70
mov edx, dword [ebp - 0x8dac]
test al, al
sete byte [ebp - 0x8db5]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x18
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dc32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x17
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dc55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dc78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x8db5], 0
jne 0x42db45
push str._L_update_low_ver
lea ecx, [ebp - 0x8db0]
call fcn.00420e30
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004526c0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x8dac]
mov byte [ebp - 4], 0x1b
call fcn.00428440
push dword [eax]
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x1c
call fcn.00444920
mov ecx, eax
call fcn.00445000
push eax
lea ecx, [ebp - 0x8dcc]
call fcn.00420e30
mov edx, dword [ebp - 0x8dac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1e
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dd07
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db4]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1f
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dd2a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8db0]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x20
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42dd4d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00431490
mov ecx, dword [0x526aec]
test al, al
mov eax, dword [ebp - 0x8dcc]
mov edx, 0x89d1cfeb
cmove ecx, edx
mov dword [0x526aec], ecx
cmp dword [eax - 0xc], 0
jne 0x42dd9b
mov esi, dword [0x526340]
mov edi, 3
lea ecx, [esi + 1]
mov eax, ecx
imul eax, esi
cdq
idiv edi
cmp edx, 1
cmove esi, ecx
mov dword [0x526340], esi
jmp 0x42df7b
push str.update_high_ver
lea ecx, [ebp - 0x8df0]
call fcn.00444920
mov ecx, eax
call fcn.00445a70
test al, al
jne 0x42de1e
call fcn.00431430
test al, al
jne 0x42de13
mov ebx, dword [0x526340]
xor edx, edx
mov dword [ebp - 0x8db0], edx
lea edi, [ebp - 0x48]
xor ecx, ecx
mov eax, ebx
inc ecx
cdq
xor esi, esi
idiv ecx
mov dword [ebp - 0x8db4], ecx
mov dword [ebp - 0x8dac], edx
lea ecx, [esi + 1]
mov esi, ecx
cmp esi, 0xd
jl 0x42dde6
mov ecx, dword [ebp - 0x8db4]
add edi, 0xd
cmp ecx, 2
jl 0x42ddd2
mov edx, dword [ebp - 0x8db0]
inc edx
mov dword [ebp - 0x8db0], edx
cmp edx, 2
jl 0x42ddd0
or ebx, 0xffffffff
mov edx, dword [ebp - 0x8dcc]
jmp 0x42db28
push str.update_high_ver
lea ecx, [ebp - 0x8df0]
call fcn.00444920
mov ecx, eax
call fcn.00445000
push eax
lea ecx, [ebp - 0x8dd4]
call fcn.00420e30
mov edx, dword [0x526340]
mov byte [ebp - 4], 0x21
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [0x526af8]
mov ecx, 0x4b51395f
cmp edx, 0xb
cmove eax, ecx
mov dword [0x526af8], eax
mov eax, dword [ebp - 0x8dd4]
cmp dword [eax - 0xc], 0
je 0x42df70
push str._L_download_url
lea ecx, [ebp - 0x8db0]
call fcn.00420e30
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 0x22
call fcn.004526c0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x8dac]
mov byte [ebp - 4], 0x23
call fcn.00428440
push dword [eax]
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x24
call fcn.00444920
mov ecx, eax
call fcn.00445a70
test al, al
lea ecx, [ebp - 0x8dac]
sete bl
call fcn.004210d0
lea ecx, [ebp - 0x8db4]
call fcn.004210d0
lea ecx, [ebp - 0x8db0]
mov byte [ebp - 4], 0x21
call fcn.004210d0
test bl, bl
je 0x42e001
call fcn.00431510
test al, al
jne 0x42df70
movd xmm4, dword [0x526340]
movsd xmm3, qword [0x4e1680]
movsd xmm6, qword [0x4e1688]
movsd xmm5, qword [0x4e1678]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
lea esp, [esp]
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42df5a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42df40
lea ecx, [ebp - 0x8dd4]
call fcn.004210d0
lea ecx, [ebp - 0x8dcc]
call fcn.004210d0
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x12
call fcn.00444690
lea ecx, [ebp - 0x8da8]
call fcn.0041f6b0
lea ecx, [ebp - 0x8cb4]
call fcn.00401060
mov eax, dword [ebp - 0x8d38]
lea ecx, [ebp - 0x8d34]
cmp eax, ecx
je 0x42dfc4
push eax
call fcn.004a976a
add esp, 4
lea ecx, [ebp - 0x8dc8]
call fcn.004210d0
lea ecx, [ebp - 0x8dc4]
call fcn.004210d0
lea ecx, [ebp - 0x8dc0]
call fcn.004210d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a8b24
mov esp, ebp
pop ebp
ret
push str._L_download_url
lea ecx, [ebp - 0x8db0]
call fcn.00420e30
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8db4]
push eax
mov byte [ebp - 4], 0x25
call fcn.004526c0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x8dac]
mov byte [ebp - 4], 0x26
call fcn.00428440
push dword [eax]
lea ecx, [ebp - 0x8df0]
mov byte [ebp - 4], 0x27
call fcn.00444920
mov ecx, eax
call fcn.00445000
push eax
lea ecx, [ebp - 0x8dd8]
call fcn.00420e30
lea ecx, [ebp - 0x8dac]
call fcn.004210d0
lea ecx, [ebp - 0x8db4]
call fcn.004210d0
lea ecx, [ebp - 0x8db0]
mov byte [ebp - 4], 0x2b
call fcn.004210d0
mov ecx, dword [0x526340]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x18
idiv ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
cmp edx, 4
jne 0x42e0b2
push 0
push 0
push 0
push 0
push 0
call esi
mov eax, dword [ebp - 0x8dd8]
cmp dword [eax - 0xc], 0
jne 0x42e114
call fcn.004314b0
mov esi, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test al, al
jne 0x42e0d9
push 0
push 0
push 0
push 0
push 0
call esi
mov ecx, dword [0x526340]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0x13
idiv ecx
cmp edx, 0x10
jne 0x42e574
push 0
push 0
push 0
push 0
push 0
call esi
lea ecx, [ebp - 0x8dd8]
call fcn.004210d0
jmp 0x42df70
mov eax, dword [ebp - 0x8dd4]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x8dd0], esp
mov ebx, esp
push eax
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [ebx], eax
mov eax, dword [ebp - 0x8dcc]
push ecx
add eax, 0xfffffff0
mov ebx, esp
push eax
mov byte [ebp - 4], 0x2c
call fcn.004047d0
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov ecx, edi
mov byte [ebp - 4], 0x2b
call fcn.00430d20
test al, al
je 0x42e574
lea eax, [ebp - 0x8dd8]
push 0x4e0b10
push eax
call fcn.0040b540
add esp, 8
test al, al
jne 0x42e584
lea eax, [ebp - 0x8dd8]
push 0x4e330c
push eax
call fcn.0040b540
add esp, 8
test al, al
jne 0x42e584
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x24e]
push eax
call fcn.004a9c90
add esp, 0xc
call fcn.004314b0
test al, al
jne 0x42e1d0
push 0
push 0
push 0
push 0
push 0
call esi
lea eax, [ebp - 0x250]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x42e27b
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b3ab8998b889819cbc8d9884b3
call fcn.00401ff0
lea eax, [ebp - 0x8de0]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 0x30
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8dbc], eax
push esi
lea eax, [ebp - 0x8dbc]
push eax
lea eax, [ebp - 0x8dd0]
push eax
mov byte [ebp - 4], 0x31
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x32
call fcn.004305c0
lea ecx, [ebp - 0x8dd0]
call fcn.004210d0
lea ecx, [ebp - 0x8dbc]
call fcn.004210d0
lea ecx, [ebp - 0x8de0]
call fcn.004210d0
lea ecx, [ebp - 0x8dd8]
call fcn.004210d0
jmp 0x42df70
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x8ddc]
call fcn.00401ff0
mov edx, dword [0x526340]
mov byte [ebp - 4], 0x33
lea ecx, [edx + 2]
lea eax, [edx + 1]
imul ecx, eax
imul ecx, edx
and ecx, 0x8000000f
jns 0x42e2b0
dec ecx
or ecx, 0xfffffff0
inc ecx
cmp ecx, 9
jne 0x42e2bc
dec edx
mov dword [0x526340], edx
mov eax, dword [ebp - 0x8ddc]
lea ecx, [ebp - 0x8ddc]
mov eax, dword [eax - 0xc]
dec eax
push eax
call fcn.0040bd40
movzx eax, ax
cmp eax, 0x5c
je 0x42e333
push str._L__
lea ecx, [ebp - 0x8dbc]
call fcn.00401ff0
lea eax, [ebp - 0x8dbc]
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0x34
call fcn.004526c0
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp - 0x8ddc]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x35
push eax
call fcn.0040b920
lea ecx, [ebp - 0x8dac]
call fcn.004210d0
lea ecx, [ebp - 0x8dbc]
mov byte [ebp - 4], 0x33
call fcn.004210d0
mov eax, dword [ebp - 0x8ddc]
add eax, 0xfffffff0
push eax
call fcn.004047d0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x8db0], eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0x36
call fcn.004514f0
add esp, 4
mov eax, dword [eax]
lea ecx, [ebp - 0x8ddc]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x37
push eax
call fcn.0040b920
lea ecx, [ebp - 0x8dac]
mov byte [ebp - 4], 0x36
call fcn.004210d0
lea eax, [ebp - 0x8ddc]
push eax
lea eax, [ebp - 0x8dd8]
push eax
call fcn.00439d80
add esp, 8
test al, al
jne 0x42e448
call fcn.00431460
test al, al
jne 0x42e3c2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x526340], edx
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b3a498989cb883ae85828d9e95aa858089be899d99899f98
call fcn.00401ff0
lea eax, [ebp - 0x8db4]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 0x38
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8dbc], eax
push esi
lea eax, [ebp - 0x8dbc]
push eax
lea eax, [ebp - 0x8dac]
push eax
mov byte [ebp - 4], 0x39
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x3a
call fcn.004305c0
lea ecx, [ebp - 0x8dac]
call fcn.004210d0
lea ecx, [ebp - 0x8dbc]
call fcn.004210d0
lea ecx, [ebp - 0x8db4]
call fcn.004210d0
jmp 0x42e55e
mov ecx, dword [0x526340]
mov eax, ecx
imul eax, ecx
and eax, 0x80000003
jns 0x42e45f
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jne 0x42e4c0
movsd xmm3, qword [0x4e1680]
movsd xmm6, qword [0x4e1688]
movsd xmm5, qword [0x4e1678]
movd xmm4, ecx
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
jmp 0x42e490
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42e4aa
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42e490
lea eax, [ebp - 0x8db0]
push eax
lea eax, [ebp - 0x8ddc]
push eax
mov ecx, edi
call fcn.0042fd10
mov eax, dword [0x526340]
imul eax, eax
and eax, 0x8000000f
jns 0x42e4e9
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 5
jne 0x42e55e
xor eax, eax
push 0x8610
push eax
mov word [ebp - 0x8864], ax
lea eax, [ebp - 0x8862]
push eax
call fcn.004a9c90
add esp, 0xc
xor edi, edi
xor esi, esi
xor edx, edx
test edi, edi
je 0x42e53a
test edx, edx
je 0x42e53a
lea eax, [esi + edx]
lea ecx, [esi + edx]
mov ax, word [ebp + eax*2 - 0x896a]
inc ax
add ax, word [ebp + ecx*2 - 0x8866]
mov word [ebp + ecx*2 - 0x8864], ax
inc edx
cmp edx, 0x83
jl 0x42e512
add esi, 0x83
inc edi
cmp esi, 0x4309
jl 0x42e510
movsx eax, word [ebp - 0x254]
mov dword [0x526340], eax
lea ecx, [ebp - 0x8db0]
call fcn.004210d0
lea ecx, [ebp - 0x8ddc]
call fcn.004210d0
lea ecx, [ebp - 0x8dd8]
call fcn.004210d0
jmp 0x42df70
call fcn.00431310
test al, al
jne 0x42e59f
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
push ecx
mov ecx, esp
push str.af84898f87ad999883b99c888d9889b99e80b3999e80b3828db38a839eb3999c888d9889
call fcn.00401ff0
lea eax, [ebp - 0x8de0]
push eax
call fcn.00451b30
add esp, 8
mov esi, eax
mov edx, dword [0x524ab0]
mov ecx, 0x524ab0
mov byte [ebp - 4], 0x2d
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x8dbc], eax
push esi
lea eax, [ebp - 0x8dbc]
push eax
lea eax, [ebp - 0x8dd0]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0043fc20
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2f
call fcn.004305c0
lea ecx, [ebp - 0x8dd0]
call fcn.004210d0
lea ecx, [ebp - 0x8dbc]
call fcn.004210d0
lea ecx, [ebp - 0x8de0]
mov byte [ebp - 4], 0x2b
call fcn.004210d0
mov edx, dword [0x526340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x13
idiv ecx
cmp edx, 8
jne 0x42e574
push 0x28
call fcn.004a7aa0
add esp, 4
mov edi, eax
xor esi, esi
call fcn.004a96f9
add eax, dword [0x526340]
inc esi
mov dword [edi + esi*4 - 4], eax
cmp esi, 0xa
jl 0x42e655
mov eax, dword [edi + 0x24]
push edi
mov dword [0x526340], eax
call fcn.004a98f0
add esp, 4
lea ecx, [ebp - 0x8dd8]
call fcn.004210d0
jmp 0x42df70