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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, edx
mov edx, ecx
mov ebx, edx
mov dword [ebp - 8], esi
push edi
mov dword [ebp - 0xc], edx
lea ecx, [ebx + 2]
nop dword [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x43c1f0
sub ebx, ecx
mov edi, esi
sar ebx, 1
mov dword [ebp - 0x18], ebx
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x43c207
sub edi, ecx
sar edi, 1
mov dword [ebp - 4], edi
test ebx, ebx
je 0x43c5a9
cmp ebx, 1
jne 0x43c230
cmp word [edx], 0x2e
je 0x43c5a9
lea eax, [ebx + ebx]
lea esi, [eax + edx]
mov dword [ebp - 0x20], eax
cmp esi, edx
jbe 0x43c25a
nop dword [eax]
movzx eax, word [esi - 2]
cmp eax, 0x5c
je 0x43c25a
cmp eax, 0x2f
je 0x43c25a
cmp eax, 0x3a
je 0x43c25a
add esi, 0xfffffffe
cmp esi, edx
ja 0x43c240
push 0x2e
push esi
call fcn.0068a738
add esp, 8
test eax, eax
je 0x43c277
cmp word [eax + 2], 0
je 0x43c277
mov edx, 1
jmp 0x43c279
xor edx, edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edx
cmp esi, eax
je 0x43c30b
mov ecx, esi
sub ecx, eax
sar ecx, 1
sub ebx, ecx
mov dword [ebp - 0x18], ecx
test edx, edx
je 0x43c2c2
push edi
push dword [ebp - 8]
mov edx, ecx
mov ecx, eax
push 0
push 0x76cfa0
push ebx
push esi
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x43c5a0
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
push edi
push dword [ebp - 8]
mov edx, ecx
mov ecx, eax
push 3
push 0x76e570
push ebx
push esi
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x43c5a0
push dword [ebp - 4]
mov edx, dword [ebp - 0x18]
push dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 3
push 0x76e578
push ebx
push esi
call fcn.0043bfc0
add esp, 0x18
mov edi, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
test edx, edx
je 0x43c3b0
lea eax, [edi + ebx]
lea eax, [eax*2 + 8]
push eax
call fcn.006a66fd
mov esi, dword [ebp - 4]
mov edi, eax
push esi
push dword [ebp - 8]
push edi
call fcn.006af30a
lea eax, [edi + esi*2]
add esp, 0x10
test esi, esi
mov dword [ebp - 0x14], eax
mov esi, eax
je 0x43c368
movzx eax, word [esi - 2]
push eax
push 0x76e568
call fcn.0068a697
add esp, 8
test eax, eax
jne 0x43c368
mov eax, 0x5c
mov word [esi], ax
add esi, 2
push 0
push 0x76cfa0
push esi
call fcn.006af30a
push ebx
push dword [ebp - 0xc]
push esi
call fcn.006af30a
add esp, 0x18
lea eax, [ebx + ebx]
xor ecx, ecx
mov word [eax + esi], cx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43c3a4
test al, 0x10
jne 0x43c3a4
test edi, edi
je 0x43c3ad
jmp 0x43c49a
push edi
call fcn.006a389b
add esp, 4
mov edi, dword [ebp - 4]
lea eax, [edi + ebx]
lea eax, [eax*2 + 0xe]
push eax
call fcn.006a66fd
mov esi, dword [ebp - 4]
mov edi, eax
push esi
push dword [ebp - 8]
push edi
call fcn.006af30a
add esp, 0x10
lea eax, [edi + esi*2]
mov dword [ebp - 0x14], eax
test esi, esi
je 0x43c403
movzx eax, word [eax - 2]
push eax
push 0x76e568
call fcn.0068a697
add esp, 8
test eax, eax
lea eax, [edi + esi*2]
jne 0x43c403
mov ecx, 0x5c
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x14], eax
push 0
push 0x76cfa0
push eax
call fcn.006af30a
mov eax, dword [ebp - 0x14]
push ebx
push dword [ebp - 0xc]
push eax
call fcn.006af30a
mov eax, dword [ebp - 0x14]
add esp, 0x18
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp word [eax - 2], 0x2e
je 0x43c43e
mov ecx, 0x2e
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x14], eax
push 3
push 0x76e570
push eax
call fcn.006af30a
mov eax, dword [ebp - 0x14]
add esp, 0xc
xor ecx, ecx
push edi
mov word [eax + 6], cx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43c46d
test al, 0x10
jne 0x43c46d
test edi, edi
je 0x43c476
jmp 0x43c49a
push edi
call fcn.006a389b
add esp, 4
push esi
push dword [ebp - 8]
xor edx, edx
mov ecx, 0x76cfa0
push 3
push 0x76e578
push ebx
push dword [ebp - 0xc]
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x43c4a4
test edi, edi
jne 0x43c5a0
jmp 0x43c4a6
xor edi, edi
mov eax, dword [ebp - 0x10]
nop dword [eax]
cmp word [eax], 0
je 0x43c5a0
mov ecx, dword [ebp + 8]
cmp eax, ecx
jne 0x43c4c7
cmp word [ecx], 0x3b
jne 0x43c4ca
add eax, 2
push 0x3b
push eax
mov ebx, eax
call fcn.0068a738
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x43c4eb
push eax
push ebx
call fcn.0068a738
add esp, 8
mov dword [ebp - 0x10], eax
mov esi, eax
sub esi, ebx
sar esi, 1
je 0x43c598
movzx eax, word [ebx]
cmp eax, 0x22
je 0x43c504
cmp eax, 0x27
jne 0x43c508
add ebx, 2
dec esi
movzx eax, word [ebx + esi*2 - 2]
cmp eax, 0x22
je 0x43c517
cmp eax, 0x27
jne 0x43c518
dec esi
cmp dword [ebp - 0x1c], 0
je 0x43c543
push dword [ebp - 4]
mov edx, esi
mov ecx, ebx
push dword [ebp - 8]
push 0
push 0x76cfa0
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x43c595
push dword [ebp - 4]
mov edx, esi
mov ecx, ebx
push dword [ebp - 8]
push 3
push 0x76e570
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x43c595
push dword [ebp - 4]
mov edx, esi
mov ecx, ebx
push dword [ebp - 8]
push 3
push 0x76e578
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call fcn.0043bfc0
mov edi, eax
add esp, 0x18
mov eax, dword [ebp - 0x10]
test edi, edi
jne 0x43c5a0
jmp 0x43c4b0
mov eax, dword [ebp - 0x10]
test edi, edi
je 0x43c4b0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret