Function at 0x43d952
Capabilities:
Check if file exists

Disassembly:
push 0xa8
mov eax, 0x458a23
call fcn.0045360d
mov ebx, ecx
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43d96d
mov ecx, dword [ebx]
test ecx, ecx
je 0x43d97e
cmp eax, 8
jb 0x43d97a
mov eax, dword [ebx]
jmp 0x43d983
mov eax, ebx
jmp 0x43d983
mov eax, dword [0x47e8b8]
push eax
lea eax, [ebp - 0x84]
call fcn.004057bc
and dword [ebp - 4], 0
push 0xfde9
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0xa0]
call fcn.0044ddf8
pop ecx
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x43d9b6
mov eax, dword [eax]
push eax
push dword [0x47e244]
push dword [0x47e13c]
push 0
call fcn.0043f6e8
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0xa0]
call fcn.00405351
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x84]
call fcn.00405695
push ebx
lea esi, [ebp - 0x30]
call fcn.00409b7f
push 2
pop edx
push 8
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
pop edi
cmp dword [ebp - 0x1c], edi
jae 0x43da09
mov eax, esi
mov ecx, dword [ebp - 0x20]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x43da2a
lea eax, [ebp - 0x30]
jmp 0x43da2a
cmp word [eax], 0x2f
jne 0x43da28
push 0x5c
pop esi
mov word [eax], si
add eax, edx
cmp eax, ecx
jne 0x43da1c
cmp byte [ebp + 8], 0
je 0x43da4d
lea esi, [ebp - 0x30]
call fcn.00408e48
lea ecx, [eax + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
or eax, 0xffffffff
call fcn.00405406
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x43da6a
mov bl, 1
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.00405695
mov al, bl
call fcn.00453690
ret
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x43da75
lea eax, [ebp - 0x30]
lea eax, [eax + ecx*2]
cmp word [eax - 2], 0x5c
je 0x43da89
push 0x5c
lea eax, [ebp - 0x30]
call fcn.00408e0e
fld qword [0x477948]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fld qword [0x477958]
fadd st(1), st(0)
fxch st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x477940]
fsubp st(1)
fadd qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x477938]
fmul qword [0x477930]
fmul qword [ebp - 0xac]
fmul qword [0x477928]
fsubp st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fadd qword [0x477920]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x477918]
fsubp st(1)
fsub qword [0x477910]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [0x477908]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x477900]
fsub qword [ebp - 0xac]
fsub qword [0x4778f8]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4778f0]
faddp st(1)
fadd qword [ebp - 0xac]
fadd qword [ebp - 0xac]
faddp st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4778e8]
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
faddp st(1)
fld qword [0x477950]
fadd st(1), st(0)
fld qword [ebp - 0xac]
fsubp st(2)
fxch st(1)
fsub qword [0x4778e0]
fsub qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fsub qword [0x4778d8]
fadd qword [ebp - 0xac]
fsub qword [0x4778d0]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4778c8]
fsubp st(1)
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmulp st(2)
fxch st(1)
fmul qword [0x4778c0]
faddp st(1)
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
mov eax, dword [ebp - 0x30]
faddp st(1)
fstp qword [ebp - 0xac]
cmp dword [ebp - 0x1c], edi
jae 0x43dc58
lea eax, [ebp - 0x30]
mov dword [ebp - 0xb4], 0x51
mov dword [ebp - 0xa8], 0x3c
mov dword [ebp - 0xa8], 0x3d
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
imul eax, eax, 9
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x43dca2
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx*2]
cmp dword [ebp - 0xb0], eax
je 0x43dd2f
mov eax, dword [ebp - 0xb0]
cmp word [eax], 0x5c
jne 0x43dd20
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x43dcc7
lea eax, [ebp - 0x30]
push dword [ebp - 0xa8]
and dword [ebp - 0x3c], 0
push dword [ebp - 0xb0]
xor ecx, ecx
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], cx
call fcn.004096d0
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], edi
jae 0x43dcf9
lea eax, [ebp - 0x4c]
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 - 0x4c]
call fcn.00405695
inc bl
je 0x43dd20
call fcn.004419b3
cmp eax, 5
jne 0x43dd2f
add dword [ebp - 0xb0], 2
push 8
pop edi
jmp 0x43dc97
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43dd3b
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xb0]
cmp ecx, eax
je 0x43ddc4
cmp word [ecx], 0x5c
jne 0x43ddb1
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43dd5d
lea eax, [ebp - 0x30]
push dword [ebp - 0xa8]
and dword [ebp - 0x58], 0
push ecx
push eax
lea eax, [ebp - 0x68]
xor edx, edx
push eax
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], dx
call fcn.004096d0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x54], 8
mov eax, dword [ebp - 0x68]
jae 0x43dd8f
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0044172d
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.00405695
inc bl
jne 0x43ddbd
add dword [ebp - 0xb0], 2
jmp 0x43dd2f
xor bl, bl
jmp 0x43da56
mov dword [ebp - 0xb0], 0xc
mov eax, dword [ebp - 0xb0]
cdq
push 0x28
pop ecx
idiv ecx
push 0x2a
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp - 0xb0]
imul eax, ecx
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
imul eax, ecx
mov ecx, dword [ebp - 0xb0]
sub ecx, eax
add ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
imul eax, eax, 0x12
lea eax, [eax + ecx - 1]
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
jmp 0x43da54