Function at 0x43cf21
Capabilities:
Check if file exists

Disassembly:
push 0xa0
mov eax, 0x457b25
call fcn.00452711
mov ebx, ecx
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43cf3c
mov ecx, dword [ebx]
test ecx, ecx
je 0x43cf4d
cmp eax, 8
jb 0x43cf49
mov eax, dword [ebx]
jmp 0x43cf52
mov eax, ebx
jmp 0x43cf52
mov eax, dword [0x47d8a0]
push eax
lea eax, [ebp - 0x80]
call fcn.00405b7c
and dword [ebp - 4], 0
push 0xfde9
lea ecx, [ebp - 0x80]
lea edx, [ebp - 0x9c]
call fcn.0044c516
pop ecx
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x43cf7f
mov eax, dword [eax]
push eax
push dword [0x47d244]
push dword [0x47d13c]
push 0
call fcn.0043ec4f
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0x9c]
call fcn.00405711
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x80]
call fcn.00405a55
fld qword [0x476998]
fst qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [0x476988]
fsubp st(1)
fsub qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fadd qword [0x476980]
fld qword [ebp - 0xa8]
fdivrp st(2)
fsubrp st(1)
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fldz
fsub st(1), st(0)
fld qword [ebp - 0xa8]
fsubp st(2)
fld qword [ebp - 0xa8]
faddp st(2)
fxch st(1)
fadd qword [0x476978]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fld qword [0x476970]
fadd st(1), st(0)
fxch st(1)
fstp qword [ebp - 0xa8]
fsubr qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fadd qword [0x4768e0]
fadd qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fdiv qword [0x476888]
fadd qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fadd qword [0x476968]
fsub qword [ebp - 0xa8]
fsub qword [0x476960]
fadd qword [ebp - 0xa8]
fadd qword [0x476958]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [0x476950]
fadd qword [ebp - 0xa8]
fsub qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fld qword [ebp - 0xa8]
fmul qword [ebp - 0xa8]
fsubrp st(1)
fld qword [ebp - 0xa8]
fdiv qword [0x476948]
fsubp st(1)
fld qword [ebp - 0xa8]
fmul qword [0x476910]
fsubp st(1)
push ebx
fstp qword [ebp - 0xa8]
lea esi, [ebp - 0x2c]
call fcn.0040a091
push 2
pop edx
push 8
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x2c]
pop edi
cmp dword [ebp - 0x18], edi
jae 0x43d133
mov eax, esi
mov ecx, dword [ebp - 0x1c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43d154
lea eax, [ebp - 0x2c]
jmp 0x43d154
cmp word [eax], 0x2f
jne 0x43d152
push 0x5c
pop esi
mov word [eax], si
add eax, edx
cmp eax, ecx
jne 0x43d146
cmp byte [ebp + 8], 0
je 0x43d227
lea esi, [ebp - 0x2c]
call fcn.004092b2
mov dword [ebp - 0xac], 0x54
mov esi, eax
mov dword [ebp - 0xa4], 0x46
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
mov ecx, dword [ebp - 0xa4]
imul eax, eax, 0x19
mov edx, dword [ebp - 0xac]
imul ecx, edx
imul ecx, ecx, 0x13
sub eax, ecx
add eax, dword [ebp - 0xac]
push 0x77
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0xa4]
sub ecx, eax
add ecx, dword [ebp - 0xac]
push 0x3a
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0xa4]
cdq
pop ecx
idiv ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
imul eax, ecx
lea ecx, [esi + 1]
neg ecx
sbb ecx, ecx
mov dword [ebp - 0xac], eax
and ecx, esi
or eax, 0xffffffff
lea esi, [ebp - 0x2c]
call fcn.004057c6
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x43d244
mov bl, 1
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.00405a55
mov al, bl
call fcn.00452794
ret
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43d24f
lea eax, [ebp - 0x2c]
lea eax, [eax + ecx*2]
cmp word [eax - 2], 0x5c
je 0x43d263
push 0x5c
lea eax, [ebp - 0x2c]
call fcn.00409278
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43d26e
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43d27f
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*2]
cmp dword [ebp - 0xa4], eax
je 0x43d30c
mov eax, dword [ebp - 0xa4]
cmp word [eax], 0x5c
jne 0x43d2fd
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43d2a4
lea eax, [ebp - 0x2c]
push dword [ebp - 0xa4]
and dword [ebp - 0x38], 0
push dword [ebp - 0xa4]
xor ecx, ecx
push eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], cx
call fcn.00409b3a
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x34], edi
jae 0x43d2d6
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00405a55
inc bl
je 0x43d2fd
call fcn.004408a1
cmp eax, 5
jne 0x43d30c
add dword [ebp - 0xa4], 2
push 8
pop edi
jmp 0x43d274
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x43d318
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xa4]
cmp ecx, eax
je 0x43d3a4
cmp word [ecx], 0x5c
jne 0x43d391
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x43d33a
lea eax, [ebp - 0x2c]
push dword [ebp - 0xa4]
and dword [ebp - 0x54], 0
push ecx
push eax
lea eax, [ebp - 0x64]
xor edx, edx
push eax
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], dx
call fcn.00409b3a
mov byte [ebp - 4], 3
cmp dword [ebp - 0x50], 8
mov esi, dword [ebp - 0x64]
jae 0x43d36c
lea esi, [ebp - 0x64]
call fcn.0043f31e
push 0
push esi
call dword [eax + 0x6c]
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.00405a55
inc bl
jne 0x43d39d
add dword [ebp - 0xa4], 2
jmp 0x43d30c
xor bl, bl
jmp 0x43d230
mov dword [ebp - 0xac], 0x54
mov dword [ebp - 0xa4], 0x46
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
mov ecx, dword [ebp - 0xa4]
imul eax, eax, 0x19
mov edx, dword [ebp - 0xac]
imul ecx, edx
imul ecx, ecx, 0x13
sub eax, ecx
add eax, dword [ebp - 0xac]
push 0x77
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0xa4]
sub ecx, eax
add ecx, dword [ebp - 0xac]
push 0x3a
add ecx, dword [ebp - 0xac]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0xa4]
cdq
pop ecx
idiv ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
imul eax, ecx
mov dword [ebp - 0xac], eax
jmp 0x43d22e