Function at 0x42c020
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8c0d
mov eax, dword fs:[0]
push eax
sub esp, 0x368
mov eax, dword [0x51fee0]
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 ebx, ecx
mov dword [ebp - 0x354], ebx
mov edx, dword [0x521340]
mov dword [ebp - 0x370], ebx
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 0xe
jne 0x42c090
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov eax, dword [ebx + 0x78]
cmp dword [eax - 0xc], 0
jne 0x42c0e9
call fcn.0042fd00
test al, al
jne 0x42c923
mov esi, dword [0x521340]
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.004a63b0
push eax
call fcn.004a8200
add esp, 8
jmp 0x42c923
add eax, 0xfffffff0
push eax
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [ebp - 0x338], eax
mov esi, dword [0x521340]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0xd
idiv ecx
mov dword [ebp - 4], 0
cmp edx, 5
jne 0x42c17e
mov eax, 0xab8f69e3
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xbf
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0xc2
je 0x42c178
mov eax, esi
or eax, 0xffffff98
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x42c178
mov eax, 0xab8f69e3
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xbf
mov eax, esi
sub eax, ecx
cmp eax, 0xc2
jne 0x42c143
mov dword [0x521340], edi
push dword [ebx + 0x4c]
push ecx
mov ecx, esp
push str.71494b475a55434e77
call fcn.00401ff0
lea eax, [ebp - 0x32c]
push eax
call fcn.00450860
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 1
call fcn.004232b0
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42c1d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x348]
push eax
call fcn.00450200
add esp, 4
mov esi, eax
push 0x4ddb10
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 2
call fcn.00401ff0
push 0x4ddb08
push eax
lea eax, [ebp - 0x330]
push eax
mov byte [ebp - 4], 3
call fcn.0040b790
push esi
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 4
call fcn.0040b6d0
add esp, 0x18
mov eax, dword [eax]
lea ecx, [ebp - 0x338]
push dword [eax - 0xc]
mov byte [ebp - 4], 5
push eax
call fcn.0040b9f0
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c25c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x330]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c27f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x344]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c2a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x348]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c2c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [0x521340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 9
jne 0x42c2fa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x521340], edx
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x340]
push eax
mov byte [ebp - 4], 6
call fcn.00435ec0
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 7
call fcn.00433230
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.0040b510
mov esi, dword [ebp - 0x32c]
add esi, 0xfffffff0
add esp, 0x18
mov byte [ebp - 0x359], al
lea ecx, [esi + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c379
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp - 0x359]
test al, al
je 0x42c518
call fcn.0042fda0
test al, al
jne 0x42c39e
mov eax, dword [0x521340]
mov ecx, 1
test eax, eax
cmove eax, ecx
mov dword [0x521340], eax
lea eax, [ebp - 0x33c]
push eax
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f786655427e7e7a586f7b7f6f797e55
call fcn.00401ff0
lea eax, [ebp - 0x348]
push eax
call fcn.00450860
add esp, 8
mov esi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 8
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x330], eax
push esi
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x344]
push eax
mov byte [ebp - 4], 9
call fcn.0043f420
add esp, 0xc
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0xa
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.0042ef80
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xa
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c43c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x344]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c45f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x330]
add edx, 0xfffffff0
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c482
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x348]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c4a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x340]
add edx, 0xfffffff0
mov byte [ebp - 4], 6
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c4c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x33c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c4eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x338]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x42c923
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42c923
mov eax, dword [ebp - 0x340]
cmp dword [eax - 0xc], 0
jne 0x42c613
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f786655797e7840796564556f677a7e73
call fcn.00401ff0
lea eax, [ebp - 0x344]
push eax
call fcn.00450860
add esp, 8
mov esi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 0xc
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x330], eax
push esi
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0xd
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.0042ef80
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c5ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x330]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xc
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c5ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x344]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c5f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042fca0
test al, al
jne 0x42c4a5
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
jmp 0x42c4a5
lea ecx, [ebp - 0x2b4]
push 3
mov dword [ebp - 0x2b8], ecx
push eax
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0xf
call fcn.0042e5a0
push dword [ebp - 0x2b8]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x10
call fcn.00401000
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0x11
call fcn.0043fca0
push 0
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x12
call fcn.00443cd0
push 1
lea eax, [ebp - 0x36c]
push eax
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0x13
call fcn.00442010
test al, al
jne 0x42c79d
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f7866557a6b78796f556f78786578
call fcn.00401ff0
lea eax, [ebp - 0x358]
push eax
call fcn.00450860
add esp, 8
mov esi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 0x14
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x330], eax
push esi
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x15
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x16
call fcn.0042ef80
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x15
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c710
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x330]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x14
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c733
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x358]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c756
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x12
call fcn.00443ee0
lea ecx, [ebp - 0x328]
call fcn.0041fc10
lea ecx, [ebp - 0x234]
call fcn.00401060
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x2b4]
cmp eax, ecx
je 0x42c4a5
push eax
call fcn.004a807a
add esp, 4
jmp 0x42c4a5
push str._L_update_low_ver
lea ecx, [ebp - 0x330]
call fcn.004213a0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x17
call fcn.004511f0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x18
call fcn.00427530
push dword [eax]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x19
call fcn.00444170
mov ecx, eax
call fcn.004452f0
mov edx, dword [ebp - 0x358]
test al, al
sete bl
add edx, 0xfffffff0
mov byte [ebp - 4], 0x18
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c818
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x32c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x17
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42c83b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x330]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x42c85c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
je 0x42c93f
call fcn.0042fe20
test al, al
jne 0x42c8c4
movd xmm4, dword [0x521340]
movsd xmm3, qword [0x4da448]
movsd xmm6, qword [0x4da450]
movsd xmm5, qword [0x4da440]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42c8ae
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42c894
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x12
call fcn.00443ee0
lea ecx, [ebp - 0x328]
call fcn.0041fc10
lea ecx, [ebp - 0x234]
call fcn.00401060
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x2b4]
cmp eax, ecx
je 0x42c902
push eax
call fcn.004a807a
add esp, 4
lea ecx, [ebp - 0x340]
call fcn.00402720
lea ecx, [ebp - 0x33c]
call fcn.00402720
lea ecx, [ebp - 0x338]
call fcn.00402720
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.004a7434
mov esp, ebp
pop ebp
ret
push str._L_update_low_ver
lea ecx, [ebp - 0x330]
call fcn.004213a0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004511f0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x1b
call fcn.00427530
push dword [eax]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x1c
call fcn.00444170
mov ecx, eax
call fcn.00444c40
push eax
lea ecx, [ebp - 0x34c]
call fcn.004213a0
lea ecx, [ebp - 0x358]
call fcn.00402720
lea ecx, [ebp - 0x32c]
call fcn.00402720
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x20
call fcn.00402720
mov eax, dword [ebp - 0x34c]
cmp dword [eax - 0xc], 0
je 0x42cf35
push str.update_high_ver
lea ecx, [ebp - 0x36c]
call fcn.00444170
mov ecx, eax
call fcn.004452f0
test al, al
je 0x42cf35
push str.update_high_ver
lea ecx, [ebp - 0x36c]
call fcn.00444170
mov ecx, eax
call fcn.00444c40
push eax
lea ecx, [ebp - 0x348]
call fcn.004213a0
mov eax, dword [ebp - 0x348]
mov byte [ebp - 4], 0x21
cmp dword [eax - 0xc], 0
jne 0x42ca95
call fcn.0042fd50
test al, al
jne 0x42cf2a
movd xmm4, dword [0x521340]
movsd xmm3, qword [0x4da448]
movsd xmm6, qword [0x4da450]
movsd xmm5, qword [0x4da440]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
lea esp, [esp]
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x42ca7a
subsd xmm2, xmm3
divsd xmm3, xmm6
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmm5
ja 0x42ca60
jmp 0x42cf2a
push str._L_download_url
lea ecx, [ebp - 0x330]
call fcn.004213a0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x22
call fcn.004511f0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x23
call fcn.00427530
push dword [eax]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x24
call fcn.00444170
mov ecx, eax
call fcn.004452f0
test al, al
lea ecx, [ebp - 0x358]
sete bl
call fcn.00402720
lea ecx, [ebp - 0x32c]
call fcn.00402720
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x21
call fcn.00402720
test bl, bl
jne 0x42cf2a
push str._L_download_url
lea ecx, [ebp - 0x330]
call fcn.004213a0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x374]
push eax
mov byte [ebp - 4], 0x25
call fcn.004511f0
add esp, 8
push dword [eax]
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0x26
call fcn.00427530
push dword [eax]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x27
call fcn.00444170
mov ecx, eax
call fcn.00444c40
push eax
lea ecx, [ebp - 0x350]
call fcn.004213a0
lea ecx, [ebp - 0x358]
call fcn.00402720
lea ecx, [ebp - 0x374]
call fcn.00402720
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x2b
call fcn.00402720
mov eax, dword [ebp - 0x350]
cmp dword [eax - 0xc], 0
jne 0x42cbf0
mov ecx, dword [0x521340]
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 3
jne 0x42cf1f
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x521340]
mov edx, 7
test eax, eax
cmove ecx, edx
mov dword [0x521340], ecx
jmp 0x42cf1f
mov eax, dword [ebp - 0x348]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x334], esp
mov esi, esp
push eax
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov eax, dword [ebp - 0x34c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 4], 0x2c
call fcn.00404880
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x354]
add esp, 4
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.0042f800
test al, al
je 0x42cf1f
lea eax, [ebp - 0x350]
push 0x4db418
push eax
call fcn.0040b610
add esp, 8
test al, al
jne 0x42cf45
lea eax, [ebp - 0x350]
push 0x4ddcd4
push eax
call fcn.0040b610
add esp, 8
test al, al
jne 0x42cf45
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call fcn.004a8550
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x42cd60
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f7866554d6f7e5e6f677a5a6b7e6255
call fcn.00401ff0
lea eax, [ebp - 0x334]
push eax
call fcn.00450860
add esp, 8
mov edi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 0x30
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x32c], eax
push edi
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x354]
push eax
mov byte [ebp - 4], 0x31
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x32
call fcn.0042ef80
lea ecx, [ebp - 0x354]
call fcn.00402720
lea ecx, [ebp - 0x32c]
call fcn.00402720
lea ecx, [ebp - 0x334]
call fcn.00402720
call fcn.0042fcd0
test al, al
jne 0x42cf1f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x50
div ecx
inc edx
mov dword [0x521340], edx
jmp 0x42cf1f
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x344]
call fcn.00401ff0
mov eax, dword [ebp - 0x344]
lea ecx, [ebp - 0x344]
mov eax, dword [eax - 0xc]
dec eax
push eax
mov byte [ebp - 4], 0x33
call fcn.0040bdc0
movzx eax, ax
cmp eax, 0x5c
je 0x42cded
push str._L__
lea ecx, [ebp - 0x32c]
call fcn.00401ff0
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x334]
push eax
mov byte [ebp - 4], 0x34
call fcn.004511f0
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp - 0x344]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x35
push eax
call fcn.0040b9f0
lea ecx, [ebp - 0x334]
call fcn.00402720
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x33
call fcn.00402720
mov eax, dword [ebp - 0x344]
add eax, 0xfffffff0
push eax
call fcn.00404880
add eax, 0x10
add esp, 4
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x334]
push eax
mov byte [ebp - 4], 0x36
call fcn.00450200
add esp, 4
mov eax, dword [eax]
lea ecx, [ebp - 0x344]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x37
push eax
call fcn.0040b9f0
lea ecx, [ebp - 0x334]
mov byte [ebp - 4], 0x36
call fcn.00402720
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.00438be0
add esp, 8
test al, al
jne 0x42cee0
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f786655427e7e7a5e654863646b78734c63666f586f7b7f6f797e
call fcn.00401ff0
lea eax, [ebp - 0x354]
push eax
call fcn.00450860
add esp, 8
mov edi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 0x38
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x32c], eax
push edi
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x334]
push eax
mov byte [ebp - 4], 0x39
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x3a
call fcn.0042ef80
lea ecx, [ebp - 0x334]
call fcn.00402720
lea ecx, [ebp - 0x32c]
call fcn.00402720
lea ecx, [ebp - 0x354]
call fcn.00402720
jmp 0x42cf09
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x344]
push eax
mov ecx, esi
call fcn.0042e680
call fcn.0042fca0
test al, al
jne 0x42cf09
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x521340], eax
lea ecx, [ebp - 0x330]
call fcn.00402720
lea ecx, [ebp - 0x344]
call fcn.00402720
lea ecx, [ebp - 0x350]
call fcn.00402720
lea ecx, [ebp - 0x348]
call fcn.00402720
lea ecx, [ebp - 0x34c]
call fcn.00402720
jmp 0x42c8c4
push ecx
mov ecx, esp
push str.49626f69614b7f7e655f7a6e6b7e6f5f7866557f786655646b556c6578557f7a6e6b7e6f
call fcn.00401ff0
lea eax, [ebp - 0x354]
push eax
call fcn.00450860
add esp, 8
mov edi, eax
mov edx, dword [0x51fab0]
mov ecx, 0x51fab0
mov byte [ebp - 4], 0x2d
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x32c], eax
push edi
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x334]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0043f420
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.0042ef80
lea ecx, [ebp - 0x334]
call fcn.00402720
lea ecx, [ebp - 0x32c]
call fcn.00402720
lea ecx, [ebp - 0x354]
jmp 0x42cf1a