Function at 0x43a6ad
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, 0x4ba268
call fcn.00485bb4
sub esp, 0x850
push ebx
push esi
mov ebx, ecx
xor edx, edx
cmp dword [0x4e895c], 1
mov esi, 0x200
push edi
mov dword [ebp - 0x14], ebx
jne 0x43a71b
lea eax, [ebx + 0x99fd74]
push str.ZZZMILK3
push eax
call fcn.00499b0f
pop ecx
pop ecx
lea ecx, [ebx + 0x90db68]
push 0x3f
call fcn.0046d561
and dword [0x4e895c], 0
xor eax, eax
push esi
push eax
mov ecx, 0x100
mov edi, 0x4e7f58
rep stosd dword es:[edi], eax
push 0x4e8758
call fcn.00486d50
add esp, 0xc
xor edx, edx
cmp dword [0x4e3f48], 7
mov eax, 0x4e3f34
push esi
cmova eax, dword [0x4e3f34]
xor ecx, ecx
push 0xece3b8
mov dword [0xed625c], edx
mov dword [0xecbb50], edx
mov dword [0x4e3f44], edx
push 0xecd7b8
mov byte [0xed0705], dl
mov byte [0xed0708], dl
mov word [eax], cx
mov byte [0xed0706], dl
mov byte [0xed064d], dl
mov byte [0xed064e], dl
call fcn.004996de
add esp, 0xc
mov byte [0xed0704], 0
mov esi, 0x4bdc80
mov byte [ebx + 0x8eb586], 0
lea ecx, [ebp - 0x2c]
push esi
call fcn.004034fb
and dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xed65c8
call fcn.00455583
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004050a6
xor ecx, ecx
sub esp, 0x18
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, 0xed65c0
call fcn.00455044
push esi
lea ecx, [ebp - 0x2c]
call fcn.004034fb
xor edi, edi
lea eax, [ebp - 0x2c]
inc edi
mov ecx, 0xed6678
push eax
mov dword [ebp - 4], edi
call fcn.00455583
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004050a6
xor ecx, ecx
sub esp, 0x18
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, 0xed6670
call fcn.00455044
movss xmm0, dword [ebp + 0xc]
movss dword [0xed6238], xmm0
cmp dword [ebx + 0x9a2534], 4
jle 0x43a83c
push 2
mov ecx, ebx
call fcn.00435b44
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x43a897
push 0x5c
push esi
call fcn.00489607
pop ecx
pop ecx
test eax, eax
lea ecx, [eax + 2]
cmovne esi, ecx
push esi
push 0x250
call fcn.0046f448
pop ecx
push eax
lea eax, [ebp - 0x85c]
push eax
call fcn.00411519
add esp, 0xc
lea eax, [ebp - 0x85c]
push edi
push 2
push ecx
mov dword [esp], 0x40c00000
mov ecx, ebx
push eax
call fcn.0042eedb
jmp 0x43b18d
cmp byte [ebx + 0x6a7f8], 0
jne 0x43a8e6
mov eax, dword [ebx + 0x8e7000]
cmp dword [ebx + 0x8e7008], eax
jne 0x43a8e6
imul ecx, eax, 0x18
push esi
add ecx, 0x8e69d0
add ecx, ebx
call fcn.0041713b
mov eax, dword [ebx + 0x8e7008]
inc eax
push 0x42
cdq
pop ecx
idiv ecx
mov eax, dword [ebx + 0x8e7004]
mov dword [ebx + 0x8e7008], edx
cmp eax, edx
jne 0x43a8e6
inc eax
cdq
idiv ecx
mov dword [ebx + 0x8e7004], edx
push str._no_description_
push dword [ebx + 0x6c2cc]
call fcn.004924de
mov edi, 0xece7b8
push edi
push 0xecebb8
call fcn.00499b0f
push esi
push edi
call fcn.00499b0f
lea eax, [ebp - 0x5c]
push esi
push eax
call fcn.00453e93
cmp dword [ebp - 0x48], 7
lea eax, [ebp - 0x5c]
push 0x1ff
cmova eax, dword [ebp - 0x5c]
push eax
push 0xecefd8
mov dword [ebp - 4], 2
call fcn.004996de
xor eax, eax
push esi
mov word [0xecf3d6], ax
call fcn.004395b8
add esp, 0x30
test al, al
je 0x43abeb
push 0x4c23fc
push esi
call fcn.0049ef67
or dword [0xecfbd8], 0xffffffff
mov edi, eax
and dword [0xecfbdc], 0
and dword [0xecbad4], 0
push edi
mov dword [ebp - 0x10], edi
call fcn.004365c0
add esp, 0xc
cmp byte [0xed0704], 0
je 0x43abeb
push edi
call fcn.00453f8d
cmp dword [0xed625c], 1
pop ecx
jne 0x43a9a4
push edi
call fcn.004366bb
pop ecx
mov edi, dword [0xecefc8]
lea ecx, [ebp - 0x2c]
mov esi, dword [0xecefc4]
dec edi
push dword [ebp + 8]
inc esi
call fcn.004034fb
push edi
push esi
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00435c9f
push eax
push 0xed65c0
mov byte [ebp - 4], 4
call fcn.00411636
add esp, 0x18
lea ecx, [ebp - 0x44]
call fcn.004050a6
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004050a6
mov edi, dword [0xecefd0]
lea ecx, [ebp - 0x2c]
mov esi, dword [0xecefcc]
dec edi
push dword [ebp + 8]
inc esi
call fcn.004034fb
push edi
push esi
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00435c9f
push eax
push 0xed6670
mov byte [ebp - 4], 6
call fcn.00411636
add esp, 0x18
lea ecx, [ebp - 0x44]
call fcn.004050a6
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004050a6
cmp dword [0x4e3f7c], 7
mov edi, 0x4e3f68
mov eax, edi
cmova eax, dword [0x4e3f68]
xor ecx, ecx
and dword [0x4e3f78], 0
push edi
push 0xed65b0
mov word [eax], cx
call fcn.004121aa
pop ecx
pop ecx
lea eax, [ebp + 0xf]
push eax
push 5
push 0
push edi
lea ecx, [ebp - 0x2c]
call fcn.00403484
push 0x4c4a28
lea ecx, [ebp - 0x2c]
call fcn.0045327c
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.004050a6
mov ecx, edi
test esi, esi
jne 0x43aad9
push 5
push esi
call fcn.00450b2b
push edi
call fcn.0044b704
cmp dword [0x4e3f7c], 7
mov eax, edi
mov dword [esp], 0x1ff
cmova eax, dword [0x4e3f68]
push eax
push 0xecdbb8
call fcn.004996de
add esp, 0xc
jmp 0x43aae3
push str.Unknow
call fcn.0041713b
push str.Preset1_
push 0
mov ecx, edi
call fcn.00417437
cmp dword [0x4e3f7c], 7
mov eax, edi
push 0x1ff
cmova eax, dword [0x4e3f68]
push eax
push 0xecf3d8
call fcn.004996de
cmp dword [0x4e3f7c], 7
mov eax, edi
push edi
cmova eax, dword [0x4e3f68]
xor ecx, ecx
and dword [0x4e3f78], 0
push 0xed6660
mov word [eax], cx
call fcn.004121aa
add esp, 0x14
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x2c]
push eax
push 5
push 0
push edi
call fcn.00403484
push 0x4c4a28
lea ecx, [ebp - 0x2c]
call fcn.0045327c
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.004050a6
mov ecx, edi
test esi, esi
jne 0x43ab9e
push 5
push esi
call fcn.00450b2b
push edi
call fcn.0044b704
cmp dword [0x4e3f7c], 7
mov eax, edi
mov dword [esp], 0x1ff
cmova eax, dword [0x4e3f68]
push eax
push 0xecdfb8
call fcn.004996de
add esp, 0xc
jmp 0x43aba8
push str.Unknow
call fcn.0041713b
push str.Preset2_
push 0
mov ecx, edi
call fcn.00417437
cmp dword [0x4e3f7c], 7
push 0x1ff
cmova edi, dword [0x4e3f68]
push edi
push 0xecf7d8
call fcn.004996de
push dword [ebp - 0x10]
mov word [ebx + 0x8eb586], 0x101
call fcn.00491402
mov esi, dword [ebp + 8]
add esp, 0x10
cmp byte [ebx + 0x8eb587], 0
jne 0x43ac3b
push 0xecdbb8
push 0xecdfb8
call fcn.00499b0f
lea eax, [ebp - 0x44]
push esi
push eax
call fcn.00453e93
cmp dword [ebp - 0x30], 7
lea eax, [ebp - 0x44]
push 0x1ff
cmova eax, dword [ebp - 0x44]
push eax
push 0xecdbb8
call fcn.004996de
add esp, 0x1c
lea ecx, [ebp - 0x44]
xor eax, eax
mov word [0xecdfb6], ax
call fcn.004050a6
cmp byte [ebx + 0x8eb585], 0
push 0x37
pop edx
push 0x10
pop edi
je 0x43ad6c
cmp byte [ebx + 0x8eb587], 0
jne 0x43ad6c
cmp byte [0xed064c], 0
je 0x43ad6c
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebx + 0x6c2cc]
mov ebx, dword [ebx + 0x6c2d0]
push 0x3f
cmp byte [ecx + 0x6c280], 0
pop eax
mov esi, eax
mov dword [ecx + 0x6c2cc], ebx
cmovne esi, edx
mov dword [ecx + 0x6c2d0], edi
xor eax, eax
cmp byte [ecx + 0x6c281], al
push 0x10
pop edx
cmovne eax, edx
xor esi, eax
call fcn.0045720d
mov eax, dword [ebp - 0x14]
push esi
push edi
push ecx
fstp dword [ebp + 0xc]
movss xmm0, dword [ebp + 0xc]
add eax, 0x8e63b8
movss dword [esp], xmm0
mov ecx, ebx
push eax
call fcn.00467fea
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.0045720d
mov ecx, dword [ebx + 0x6b57c]
mov dword [ebx + 0x6c2c4], 0xbf800000
fstp dword [ebx + 0x6c2c0]
test ecx, ecx
je 0x43acf8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b57c], 0
lea edi, [ebx + 0x6b3a0]
mov ecx, dword [edi]
test ecx, ecx
je 0x43ad0d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [edi], 0
mov ecx, dword [ebx + 0x6b580]
test ecx, ecx
je 0x43ad24
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b580], 0
mov edx, dword [ebx + 0x6b3a4]
test edx, edx
je 0x43ad3b
mov eax, dword [edx]
push edx
call dword [eax + 8]
and dword [ebx + 0x6b3a4], 0
lea esi, [ebx + 0x6afe8]
mov ecx, edi
push esi
call fcn.0042de09
push 0x3b8
push 0
push esi
call fcn.00486d50
add esp, 0xc
mov ecx, ebx
push 0
push dword [ebx + 0x6c2cc]
push esi
call fcn.0043bb8d
push 0x10
pop edi
cmp byte [0xed0704], 0
je 0x43af4a
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x8e63b8]
cmp eax, ecx
je 0x43ad8e
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebx + 0x6c2cc]
mov eax, dword [ebx + 0x6c2d0]
cmp byte [ebx + 0x6c280], 0
mov dword [ebx + 0x6c2d0], ecx
push 0x3f
pop ecx
mov dword [ebx + 0x6c2cc], eax
push 0x37
pop eax
cmovne ecx, eax
xor eax, eax
cmp byte [ebx + 0x6c281], al
mov dword [0xed623c], 1
mov esi, dword [ebx + 0x6c2d0]
cmovne eax, edi
mov edi, dword [ebx + 0x6c2cc]
xor ecx, eax
mov dword [ebp + 0xc], ecx
mov ecx, ebx
call fcn.0045720d
mov eax, dword [ebp + 0xc]
push eax
push esi
push ecx
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
mov ecx, edi
movss dword [esp], xmm0
push dword [ebp + 8]
call fcn.004630c2
mov ecx, ebx
call fcn.0045720d
mov ecx, dword [ebx + 0x6b57c]
mov dword [ebx + 0x6c2c4], 0xbf800000
fstp dword [ebx + 0x6c2c0]
test ecx, ecx
je 0x43ae2e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b57c], 0
lea edi, [ebx + 0x6b3a0]
mov ecx, dword [edi]
test ecx, ecx
je 0x43ae43
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [edi], 0
mov ecx, dword [ebx + 0x6b580]
test ecx, ecx
je 0x43ae5a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b580], 0
mov edx, dword [ebx + 0x6b3a4]
test edx, edx
je 0x43ae71
mov eax, dword [edx]
push edx
call dword [eax + 8]
and dword [ebx + 0x6b3a4], 0
lea esi, [ebx + 0x6afe8]
mov ecx, edi
push esi
call fcn.0042de09
mov edi, 0x3b8
push edi
push 0
push esi
call fcn.00486d50
add esp, 0xc
mov ecx, ebx
push 0
push dword [ebx + 0x6c2cc]
push esi
call fcn.0043bb8d
mov ecx, ebx
call fcn.00446653
mov ecx, dword [ebx + 0x6b934]
test ecx, ecx
je 0x43aebe
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b934], 0
lea esi, [ebx + 0x6b758]
mov ecx, dword [esi]
test ecx, ecx
je 0x43aed3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi], 0
push edi
push 0
push esi
call fcn.00486d50
add esp, 0xc
xor ecx, ecx
cmp byte [ebx + 0x6c280], cl
push 8
pop eax
cmovne ecx, eax
xor eax, eax
cmp byte [ebx + 0x6c281], al
push 0x10
pop edx
cmovne eax, edx
mov dword [0xed623c], 2
mov edi, dword [ebx + 0x6c2d4]
xor ecx, eax
xor dword [ebp + 0xc], ecx
mov ecx, ebx
mov esi, dword [ebx + 0x6c2d0]
call fcn.0045720d
mov eax, dword [ebp + 0xc]
push eax
push esi
mov esi, dword [ebp + 8]
push ecx
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
mov ecx, edi
movss dword [esp], xmm0
push esi
call fcn.004630c2
mov dword [ebx + 0x6c4e4], 0x3f800000
jmp 0x43b16d
movss xmm0, dword [0xed6238]
mov byte [ebx + 0x8eb587], 0
ucomiss xmm0, dword [0x4bfb48]
movss dword [ebp - 0x14], xmm0
lahf
test ah, 0x44
jp 0x43b0ab
push 0x4bdc80
push 0xecd3b8
mov byte [ebx + 0x8eb586], 0
call fcn.00411519
mov eax, dword [ebp + 8]
pop ecx
pop ecx
lea ecx, [ebx + 0x8e63b8]
cmp eax, ecx
je 0x43af9c
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp byte [ebx + 0x6c280], 0
mov esi, dword [ebx + 0x6c2cc]
mov edi, dword [ebx + 0x6c2d0]
push 0x3f
pop ecx
push 0x37
pop eax
cmovne ecx, eax
mov dword [ebx + 0x6c2cc], edi
xor eax, eax
mov dword [ebx + 0x6c2d0], esi
cmp byte [ebx + 0x6c281], al
push 0x10
pop edx
cmovne eax, edx
xor ecx, eax
mov dword [ebp + 0xc], ecx
mov ecx, ebx
call fcn.0045720d
mov eax, dword [ebp + 0xc]
push eax
push esi
push ecx
fstp dword [ebp + 8]
movss xmm0, dword [ebp + 8]
lea eax, [ebx + 0x8e63b8]
movss dword [esp], xmm0
mov ecx, edi
push eax
call fcn.00464a8c
mov ecx, ebx
call fcn.0045720d
mov ecx, dword [ebx + 0x6b57c]
mov dword [ebx + 0x6c2c4], 0xbf800000
fstp dword [ebx + 0x6c2c0]
test ecx, ecx
je 0x43b02d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b57c], 0
lea edi, [ebx + 0x6b3a0]
mov ecx, dword [edi]
test ecx, ecx
je 0x43b042
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [edi], 0
mov ecx, dword [ebx + 0x6b580]
test ecx, ecx
je 0x43b059
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b580], 0
mov edx, dword [ebx + 0x6b3a4]
test edx, edx
je 0x43b070
mov eax, dword [edx]
push edx
call dword [eax + 8]
and dword [ebx + 0x6b3a4], 0
lea esi, [ebx + 0x6afe8]
mov ecx, edi
push esi
call fcn.0042de09
mov edi, 0x3b8
push edi
push 0
push esi
call fcn.00486d50
add esp, 0xc
mov ecx, ebx
push 0
push dword [ebx + 0x6c2cc]
push esi
call fcn.0043bb8d
mov ecx, ebx
call fcn.00446653
jmp 0x43b185
cmp byte [ebx + 0x8eb585], 0
je 0x43b0bb
mov byte [ebx + 0x8eb586], 1
push 0x200
push dword [ebx + 0x6c2cc]
push 0xecd3b8
call fcn.004996de
mov ecx, dword [ebx + 0x6b934]
add esp, 0xc
test ecx, ecx
je 0x43b0ea
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [ebx + 0x6b934], 0
lea esi, [ebx + 0x6b758]
mov ecx, dword [esi]
test ecx, ecx
je 0x43b0ff
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi], 0
push 0x3b8
push 0
push esi
call fcn.00486d50
mov esi, dword [ebx + 0x6c2d0]
add esp, 0xc
cmp byte [ebx + 0x6c280], 0
push 0x3f
pop ecx
push 0x37
pop eax
cmovne ecx, eax
xor eax, eax
cmp byte [ebx + 0x6c281], al
cmovne eax, edi
mov edi, dword [ebx + 0x6c2d4]
xor ecx, eax
mov dword [ebp + 0xc], ecx
mov ecx, ebx
call fcn.0045720d
mov eax, dword [ebp + 0xc]
push eax
push esi
mov esi, dword [ebp + 8]
push ecx
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
mov ecx, edi
movss dword [esp], xmm0
push esi
call fcn.00464a8c
movss xmm0, dword [ebp - 0x14]
movss dword [ebx + 0x6c4e4], xmm0
push esi
lea eax, [ebx + 0x6c2dc]
mov dword [ebx + 0x6c2d8], 1
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x5c]
call fcn.004050a6
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8