Function at 0x415510
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x70df2b
mov eax, dword fs:[0]
push eax
mov eax, 0x267d0
call fcn.00438750
mov eax, dword [0x804580]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x267c0], edi
mov eax, dword [0x817708]
test eax, eax
jne 0x415587
push 0xc4
call fcn.00438065
add esp, 4
mov dword [ebp - 0x267c8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x415579
mov ecx, eax
call fcn.0040bf20
jmp 0x41557b
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x817708], eax
push 1
push str.c391d
push 1
mov ecx, eax
call fcn.0040d660
push str.e3e9894d28e204
push dword [edi + 0x24]
call fcn.00418a00
mov esi, eax
add esp, 8
test esi, esi
je 0x415cc6
call fcn.0044f00c
mov ecx, esi
mov dword [ebp - 0x267c8], eax
xor eax, eax
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], ax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4155e0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x290]
call fcn.004050a0
mov dword [ebp - 4], 1
mov dword [ebp - 0x267dc], 0
mov dword [ebp - 0x267d8], 0
mov dword [ebp - 0x267d4], 0
push 1
xor eax, eax
mov byte [ebp - 4], 2
push 0x72366c
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004050a0
lea eax, [ebp - 0x267dc]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00441292
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x230]
call fcn.00402710
mov esi, dword [ebp - 0x267dc]
cmp esi, dword [ebp - 0x267d8]
je 0x415bd3
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x4156a0
mov edx, dword [esi]
mov ecx, edx
mov dword [ebp - 0x238], 0
xor eax, eax
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4156c2
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x248]
call fcn.004050a0
xor eax, eax
mov byte [ebp - 4], 4
push eax
push 0x720d00
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
call fcn.004050a0
xor eax, eax
mov byte [ebp - 4], 5
push eax
push 0x720d00
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 7
mov word [ebp - 0x2a8], ax
call fcn.004050a0
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x248]
mov eax, dword [ebp - 0x238]
cmovae ecx, dword [ebp - 0x248]
mov byte [ebp - 4], 6
mov dword [ebp - 0x267c4], ecx
cmp eax, 1
jb 0x415798
lea eax, [ecx + eax*2]
mov edi, ecx
mov dword [ebp - 0x267cc], eax
sub eax, edi
sar eax, 1
je 0x415792
nop dword [eax]
cmp word [edi], 0x3a
je 0x415c28
add edi, 2
sub eax, 1
jne 0x415780
mov eax, dword [ebp - 0x238]
or edi, 0xffffffff
cmp edi, 0xffffffff
jle 0x415896
xor ecx, ecx
mov dword [ebp - 0x220], 0
cmp eax, edi
mov word [ebp - 0x230], cx
mov ecx, edi
mov dword [ebp - 0x21c], 7
cmovb ecx, eax
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.004050a0
lea ecx, [ebp - 0x278]
call fcn.00402710
movups xmm0, xmmword [ebp - 0x230]
xor eax, eax
inc edi
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x238]
movups xmmword [ebp - 0x278], xmm0
movq xmm0, qword [ebp - 0x220]
movq qword [ebp - 0x268], xmm0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
cmp eax, edi
jb 0x416708
sub eax, edi
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x230]
lea eax, [eax + edi*2]
push eax
call fcn.004050a0
lea ecx, [ebp - 0x2a8]
call fcn.00402710
movups xmm0, xmmword [ebp - 0x230]
movups xmmword [ebp - 0x2a8], xmm0
movq xmm0, qword [ebp - 0x220]
movq qword [ebp - 0x298], xmm0
cmp dword [ebp - 0x268], 9
jne 0x415ad5
xor eax, eax
mov dword [ebp - 0x220], 0
cmp dword [ebp - 0x264], 8
lea ecx, [ebp - 0x230]
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push 4
push eax
mov dword [ebp - 0x21c], 7
call fcn.004050a0
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.004cc637
mov edx, dword [ebp - 0x21c]
add esp, 4
mov dword [ebp - 0x267c4], eax
cmp edx, 8
jb 0x415945
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41593b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
push edx
push ecx
call fcn.004382df
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x21c], 7
cmp eax, 5
jb 0x416708
add eax, 0xfffffffb
mov ecx, 4
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x264], 8
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push ecx
add eax, 0xa
lea ecx, [ebp - 0x230]
push eax
call fcn.004050a0
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.004cc637
mov edx, dword [ebp - 0x21c]
add esp, 4
mov edi, eax
cmp edx, 8
jb 0x415a01
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4159f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
push edx
push ecx
call fcn.004382df
add esp, 8
mov eax, dword [ebp - 0x267c8]
cmp eax, dword [ebp - 0x267c4]
jl 0x415ad5
cmp eax, edi
jg 0x415ad5
push 0
push 0x7236bc
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x267bc], 0
mov dword [ebp - 0x267cc], 0
call fcn.0041a530
mov edi, eax
cmp edi, 0xffffffff
jle 0x415ab9
push edi
push 0
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.0041a660
cmp dword [eax + 0x14], 8
jb 0x415a65
mov eax, dword [eax]
push eax
call fcn.004cc637
add esp, 4
mov dword [ebp - 0x267bc], eax
lea ecx, [ebp - 0x230]
call fcn.00402710
push 0xffffffffffffffff
lea ecx, [edi + 1]
push ecx
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.0041a660
cmp dword [eax + 0x14], 8
jb 0x415a9f
mov eax, dword [eax]
push eax
call fcn.004cc637
add esp, 4
mov dword [ebp - 0x267cc], eax
lea ecx, [ebp - 0x230]
call fcn.00402710
push dword [ebp - 0x267cc]
push 0
call fcn.00447b54
add esp, 8
cmp eax, dword [ebp - 0x267bc]
jg 0x415c7e
mov edx, dword [ebp - 0x294]
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x415b19
mov ecx, dword [ebp - 0x2a8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415b0f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
push edx
push ecx
call fcn.004382df
add esp, 8
mov edx, dword [ebp - 0x264]
xor eax, eax
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 7
mov word [ebp - 0x2a8], ax
mov byte [ebp - 4], 4
cmp edx, 8
jb 0x415b7a
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415b70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
push edx
push ecx
call fcn.004382df
add esp, 8
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x415bbe
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415bb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
push edx
push ecx
call fcn.004382df
add esp, 8
add esi, 0x18
cmp esi, dword [ebp - 0x267d8]
jne 0x415696
mov edi, dword [ebp - 0x267c0]
lea ecx, [ebp - 0x267dc]
call fcn.00402790
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x415cc6
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415cbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416703
jmp 0x415cbc
test edi, edi
je 0x415792
mov ecx, 0x7236b8
mov eax, edi
sub eax, ecx
mov edx, 1
mov dword [ebp - 0x267bc], eax
mov ax, word [ecx + eax]
cmp ax, word [ecx]
jne 0x415c5d
add ecx, 2
sub edx, 1
je 0x415c6b
mov eax, dword [ebp - 0x267bc]
jmp 0x415c44
mov eax, dword [ebp - 0x267cc]
add edi, 2
jmp 0x415776
sub edi, dword [ebp - 0x267c4]
mov eax, dword [ebp - 0x238]
sar edi, 1
jmp 0x41579b
lea ecx, [ebp - 0x2a8]
call fcn.00402710
lea ecx, [ebp - 0x278]
call fcn.00402710
lea ecx, [ebp - 0x248]
call fcn.00402710
lea ecx, [ebp - 0x267dc]
call fcn.00402790
lea ecx, [ebp - 0x290]
call fcn.00402710
xor eax, eax
jmp 0x4166e8
push edx
push ecx
call fcn.004382df
add esp, 8
xor eax, eax
mov dword [ebp - 0x2c8], 0
push eax
push 0x720d00
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x2c4], 7
mov word [ebp - 0x2d8], ax
call fcn.004050a0
xor eax, eax
mov dword [ebp - 4], 7
push eax
push 0x720d00
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.004050a0
xor eax, eax
mov byte [ebp - 4], 8
push eax
push 0x720d00
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 7
mov word [ebp - 0x308], ax
call fcn.004050a0
xor eax, eax
mov byte [ebp - 4], 9
push eax
push 0x720d00
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 7
mov word [ebp - 0x2f0], ax
call fcn.004050a0
push str.ee66ec8fa9c56d
push dword [edi + 0x24]
mov byte [ebp - 4], 0xa
call fcn.00418a00
mov edx, eax
add esp, 8
test edx, edx
je 0x415dcc
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415db0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2d8]
call fcn.004050a0
push str.e760027373ef06
push dword [edi + 0x24]
call fcn.00418a00
mov edx, eax
add esp, 8
test edx, edx
je 0x415e03
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415de7
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x248]
call fcn.004050a0
push str.c1c819e328900d
push dword [edi + 0x24]
call fcn.00418a00
mov edx, eax
add esp, 8
test edx, edx
je 0x415e3c
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415e20
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x308]
call fcn.004050a0
push str.b3b37ff3b041be
push dword [edi + 0x24]
call fcn.00418a00
mov edx, eax
add esp, 8
test edx, edx
je 0x415e73
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415e57
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2f0]
call fcn.004050a0
cmp dword [ebp - 0x2c8], 0
jne 0x415e83
xor esi, esi
jmp 0x4166ba
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004c3e70
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov dword [ebp - 0x310], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x30c], 7
mov word [ebp - 0x320], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415ed1
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x320]
call fcn.004050a0
mov eax, dword [edi + 8]
xor edx, edx
mov esi, dword [edi + 4]
mov ecx, eax
sub ecx, esi
mov byte [ebp - 4], 0xb
add ecx, 3
xor edi, edi
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x267bc], ecx
test ecx, ecx
je 0x415f41
mov eax, ecx
nop dword [eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x415f39
mov eax, dword [ecx]
push 0
push 0
push 0x46b
call dword [eax]
mov eax, dword [ebp - 0x267bc]
inc edi
add esi, 4
cmp edi, eax
jne 0x415f20
mov edi, dword [ebp - 0x267c0]
xor edx, edx
mov eax, dword [edi + 8]
mov ecx, eax
mov esi, dword [edi + 4]
sub ecx, esi
add ecx, 3
xor edi, edi
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x267bc], ecx
test ecx, ecx
je 0x415f91
mov eax, ecx
nop dword [eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x415f89
mov eax, dword [ecx]
push 0
push 0
push 0x465
call dword [eax]
mov eax, dword [ebp - 0x267bc]
inc edi
add esi, 4
cmp edi, eax
jne 0x415f70
cmp dword [ebp - 0x2c4], 8
lea eax, [ebp - 0x2d8]
cmovae eax, dword [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.0044239f
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00413060
add esp, 0x14
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0xd
cmovae eax, dword [ebp - 0x2c0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x416013
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.0044e5eb
add esp, 4
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.004417f1
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.004417f1
mov ecx, eax
add esp, 0x10
cmp dword [ecx + 0x14], 0x10
jb 0x41604a
mov ecx, dword [ecx]
lea edx, [ebp - 0x980]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x416052
mov edx, dword [ebp - 0x27c]
cmp edx, 0x10
jb 0x416099
mov ecx, dword [ebp - 0x290]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41608f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41670d
push edx
push ecx
call fcn.004382df
add esp, 8
cmp dword [ebp - 0x324], 0x10
lea ecx, [ebp - 0x338]
lea edx, [ebp - 0x780]
cmovae ecx, dword [ebp - 0x338]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4160b5
lea ecx, [ebp - 0x267b8]
call fcn.0044da29
sub esp, 0x300
mov byte [ebp - 4], 0xf
mov edi, esp
lea esi, [ebp - 0x980]
mov ecx, 0xc0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x267b8]
call fcn.0044dad9
lea ecx, [ebp - 0x267b8]
call fcn.0044e4c8
push 0x300
lea eax, [ebp - 0x680]
push 0
push eax
call fcn.004c3e70
xorps xmm0, xmm0
mov dword [ebp - 0x380], 0
add esp, 0xc
movups xmmword [ebp - 0x378], xmm0
nop word [eax + eax]
lea ecx, [ebp - 0x267b8]
call fcn.0044e1da
test eax, eax
je 0x4161d3
lea eax, [ebp - 0x680]
push eax
lea ecx, [ebp - 0x267b8]
call fcn.0044de6d
movsd xmm0, qword [ebp - 0x370]
xor edi, edi
divsd xmm0, qword [ebp - 0x378]
mov eax, dword [ebp - 0x267c0]
movsd qword [eax + 0x10], xmm0
mov esi, dword [eax + 4]
mulsd xmm0, qword [0x721b68]
mov eax, dword [eax + 8]
mov ecx, eax
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp esi, eax
cvttsd2si edx, xmm0
cmova ecx, edi
mov dword [ebp - 0x267bc], ecx
mov dword [ebp - 0x267c4], edx
test ecx, ecx
je 0x4161cb
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x4161c3
mov eax, dword [ecx]
push edx
push 0
push 0x466
call dword [eax]
mov eax, dword [ebp - 0x267bc]
mov edx, dword [ebp - 0x267c4]
inc edi
add esi, 4
cmp edi, eax
jne 0x4161a5
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x267b8]
call fcn.0044e1e6
test eax, eax
je 0x416130
lea eax, [ebp - 0x680]
push eax
lea ecx, [ebp - 0x267b8]
call fcn.0044de6d
movsd xmm2, qword [ebp - 0x370]
movups xmm1, xmmword [ebp - 0x378]
mov edi, dword [ebp - 0x267c0]
movaps xmm0, xmm2
movsd qword [ebp - 0x267d0], xmm2
divsd xmm0, xmm1
movsd qword [edi + 0x10], xmm0
mov eax, dword [edi + 8]
mov ecx, eax
mulsd xmm0, qword [0x721b68]
mov esi, dword [edi + 4]
xor edi, edi
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp esi, eax
cvttsd2si edx, xmm0
cmova ecx, edi
mov dword [ebp - 0x267bc], ecx
mov dword [ebp - 0x267c4], edx
test ecx, ecx
je 0x41628b
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x416274
mov eax, dword [ecx]
push edx
push 0
push 0x466
call dword [eax]
mov eax, dword [ebp - 0x267bc]
mov edx, dword [ebp - 0x267c4]
inc edi
add esi, 4
cmp edi, eax
jne 0x416256
movups xmm1, xmmword [ebp - 0x378]
movsd xmm2, qword [ebp - 0x267d0]
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jp 0x4162a7
ucomisd xmm2, qword [0x7239c0]
lahf
test ah, 0x44
jp 0x41633b
lea eax, [ebp - 0x2f0]
xor esi, esi
push 0x720d00
push eax
call fcn.00401d70
add esp, 8
test al, al
jne 0x416623
sub esp, 0x18
lea eax, [ebp - 0x2c0]
mov ecx, esp
push eax
call fcn.00402550
mov edi, dword [ebp - 0x267c0]
lea eax, [ebp - 0x290]
push eax
mov ecx, edi
call fcn.00418ad0
cmp dword [ebp - 0x2dc], 8
lea ecx, [ebp - 0x2f0]
lea eax, [ebp - 0x290]
cmovae ecx, dword [ebp - 0x2f0]
cmp dword [ebp - 0x27c], 8
push ecx
cmovae eax, dword [ebp - 0x290]
push eax
call fcn.004caa8f
add esp, 8
mov ecx, 1
test eax, eax
cmove esi, ecx
lea ecx, [ebp - 0x290]
call fcn.00402710
test esi, esi
je 0x416629
jmp 0x416341
mov edi, dword [ebp - 0x267c0]
mov eax, dword [edi + 8]
xor edx, edx
mov esi, dword [edi + 4]
mov ecx, eax
sub ecx, esi
xor edi, edi
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x267bc], ecx
test ecx, ecx
je 0x416387
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x41637f
mov eax, dword [ecx]
push 0x64
push 0
push 0x466
call dword [eax]
mov eax, dword [ebp - 0x267bc]
inc edi
add esi, 4
cmp edi, eax
jne 0x416366
xor eax, eax
mov dword [ebp - 0x250], 0
push eax
push 0x720d00
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
call fcn.004050a0
push 0xffffffffffffffff
push 0x2e
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x10
call fcn.0041a600
push eax
push 0
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x350]
call fcn.0041a660
push 0x723908
push eax
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 0x11
push eax
call fcn.00412ff0
add esp, 0xc
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x13
call fcn.00402710
lea eax, [ebp - 0x248]
push 0x720d00
push eax
call fcn.00401d70
add esp, 8
test al, al
jne 0x416443
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
push dword [ebp - 0x238]
cmovae eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x368]
push eax
call fcn.004050a0
lea eax, [ebp - 0x368]
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00413060
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x260]
cmp eax, esi
je 0x41649d
mov ecx, eax
call fcn.00402710
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x250], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x230]
call fcn.00402710
cmp dword [ebp - 0x24c], 8
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x2c0]
cmovae ecx, dword [ebp - 0x260]
cmp dword [ebp - 0x2ac], 8
push ecx
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.0044eb6f
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
call fcn.0044eb22
add esp, 0xc
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
mov dword [ebp - 0x267cc], 0
cmovae eax, dword [ebp - 0x260]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x416577
cmp dword [ebp - 0x2f4], 8
lea ecx, [ebp - 0x308]
push 0xffffffffffffffff
cmovae ecx, dword [ebp - 0x308]
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x24c], 8
push 1
cmovae eax, dword [ebp - 0x260]
push ecx
push eax
call fcn.0043f86e
mov edi, dword [ebp - 0x267c0]
add esp, 0x10
mov dword [ebp - 0x267cc], eax
test eax, eax
jne 0x41657d
mov ecx, edi
call fcn.0041a080
jmp 0x41657d
mov edi, dword [ebp - 0x267c0]
mov eax, dword [edi + 8]
xor edx, edx
mov esi, dword [edi + 4]
mov ecx, eax
sub ecx, esi
xor edi, edi
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x267bc], ecx
test ecx, ecx
je 0x4165c3
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x4165bb
mov eax, dword [ecx]
push 0
push 0
push 0x469
call dword [eax]
mov eax, dword [ebp - 0x267bc]
inc edi
add esi, 4
cmp edi, eax
jne 0x4165a2
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.0044e5eb
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
call fcn.0044e5eb
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x368]
call fcn.00402710
lea ecx, [ebp - 0x260]
call fcn.00402710
mov esi, dword [ebp - 0x267cc]
jmp 0x416683
mov edi, dword [ebp - 0x267c0]
movsd xmm0, qword [0x7239c8]
xor edx, edx
movsd qword [edi + 0x10], xmm0
mov eax, dword [edi + 8]
mov ecx, eax
mov esi, dword [edi + 4]
sub ecx, esi
add ecx, 3
xor edi, edi
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x267bc], ecx
test ecx, ecx
je 0x416681
mov eax, ecx
nop dword [eax + eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x416679
mov eax, dword [ecx]
push 0x64
push 0
push 0x467
call dword [eax]
mov eax, dword [ebp - 0x267bc]
inc edi
add esi, 4
cmp edi, eax
jne 0x416660
xor esi, esi
lea ecx, [ebp - 0x267b8]
call fcn.0044dace
lea ecx, [ebp - 0x338]
call fcn.004026c0
lea ecx, [ebp - 0x2c0]
call fcn.00402710
lea ecx, [ebp - 0x350]
call fcn.00402710
lea ecx, [ebp - 0x320]
call fcn.00402710
lea ecx, [ebp - 0x2f0]
call fcn.00402710
lea ecx, [ebp - 0x308]
call fcn.00402710
lea ecx, [ebp - 0x248]
call fcn.00402710
lea ecx, [ebp - 0x2d8]
call fcn.00402710
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00438587
mov esp, ebp
pop ebp
ret
call fcn.004c75d7
call fcn.00404ce0
call fcn.004c75d7
int3