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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4967f5
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4b3094]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x1c], 0
nop
mov edi, dword [ebp + 8]
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x43ac4d
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x43b00b
mov esi, dword [ebp + 0xc]
mov ecx, ebx
and ecx, 0x410
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
cmp ecx, 0x10
jne 0x43b000
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0
push eax
push 0
push 0x10
lea eax, [ebp - 0x10]
push edi
push eax
call fcn.00440bf0
add esp, 0x14
test byte [ebp - 0x50], 1
je 0x43af29
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x58]
cmp edx, 1
jne 0x43acc0
test edi, edi
setne al
test al, al
je 0x43af29
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x4b3110
mov byte [ebp - 4], 1
cmp edx, 1
jne 0x43ad3b
mov ecx, 0x4b3110
call fcn.00435230
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], ecx
cmp eax, 1
jne 0x43acf7
mov ecx, dword [ebp - 0x54]
jmp 0x43ad0e
test eax, eax
jne 0x43ad04
xor edx, edx
mov ecx, 0x4b3184
jmp 0x43ad11
mov ecx, dword [ebp - 0x54]
call fcn.00435230
mov ecx, eax
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x24], edx
lea esi, [ebp - 0x44]
mov dword [ebp - 0x20], ecx
mov eax, dword [ecx]
push esi
push edx
mov eax, dword [eax + 0x14]
call eax
test al, al
jne 0x43ae3d
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
push dword [ebp - 0x44]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43ad72
test edx, edx
mov ecx, 0x4b30b8
lea edx, [ebp - 0x2c]
cmovne ecx, dword [ebp - 0x54]
push edx
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x43ae3d
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x58]
push dword [ebp - 0x2c]
test eax, eax
mov ecx, 0x4b3110
cmovne ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
test al, al
jne 0x43ae3d
mov dword [ebp - 0x34], 0x72
mov dword [ebp - 0x30], 0x4b3110
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 2
cmp eax, 1
jne 0x43adf7
mov ecx, 0x4b3110
call fcn.00435230
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
cmp eax, 1
jne 0x43adb7
mov ecx, dword [ebp - 0x54]
jmp 0x43adce
test eax, eax
jne 0x43adc4
xor edx, edx
mov ecx, 0x4b3184
jmp 0x43add1
mov ecx, dword [ebp - 0x54]
call fcn.00435230
mov ecx, eax
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x18], edx
lea esi, [ebp - 0x4c]
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx]
push esi
push edx
mov eax, dword [eax + 0x14]
call eax
test al, al
jne 0x43ae33
mov ecx, dword [ebp - 0x48]
lea edx, [ebp - 0x18]
push dword [ebp - 0x4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43ae2c
test eax, eax
lea edx, [ebp - 0x34]
mov ecx, 0x4b30b8
cmovne ecx, dword [ebp - 0x54]
push edx
push dword [ebp - 0x58]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x43ae33
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x58]
push dword [ebp - 0x34]
test eax, eax
mov ecx, 0x4b3110
cmovne ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
test al, al
je 0x43ae35
mov al, 1
mov byte [ebp - 4], 0
test al, al
je 0x43aea5
mov esi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43ae6d
mov eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43ae6d
test esi, esi
je 0x43ae6d
mov ecx, esi
call fcn.0043fff0
push esi
call fcn.00440100
add esp, 4
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 5
jb 0x43ac40
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
jne 0x43af0a
sub esp, 0xc
mov ecx, esp
push dword [ebp + 8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
push str.boost::filesystem::remove_all:_path_cannot_be_opened_as_a_directory
jmp 0x43b094
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
je 0x43b080
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x43b052
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b052
test esi, esi
je 0x43b052
mov ecx, esi
call fcn.0043fff0
push esi
call fcn.00440100
add esp, 4
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x20], 0
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x43af94
cmp dword [edi + 0x34], 0
je 0x43af94
lea eax, [edi + 0xc]
push esi
push eax
call fcn.0043ac00
add esp, 8
add dword [ebp - 0x1c], eax
adc dword [ebp - 0x14], edx
test esi, esi
je 0x43af73
mov ecx, esi
call fcn.00435370
test al, al
jne 0x43aebf
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.004411f0
add esp, 8
test esi, esi
je 0x43af40
mov ecx, esi
call fcn.00435370
test al, al
je 0x43af40
jmp 0x43aebf
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x43afbf
or eax, 0xffffffff
lock xadd dword [edi], eax
add eax, 0xffffffff
jne 0x43afbf
test edi, edi
je 0x43afbf
mov ecx, edi
call fcn.0043fff0
push edi
call fcn.00440100
add esp, 4
mov edi, dword [ebp - 0x14]
push esi
push ebx
push dword [ebp + 8]
call fcn.0043b9c0
add esp, 0xc
test esi, esi
je 0x43afe5
mov ecx, dword [esi + 8]
test cl, 1
je 0x43afe5
cmp ecx, 1
jne 0x43b052
cmp dword [esi], 0
jne 0x43b052
movzx eax, al
cdq
add eax, dword [ebp - 0x1c]
adc edx, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jmp 0x43afc2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43b06a
cmp eax, 3
je 0x43b06a
cmp eax, 0x7b
je 0x43b06a
cmp eax, 0xf
je 0x43b06a
cmp eax, 0x15
je 0x43b06a
cmp eax, 0x57
je 0x43b06a
cmp eax, 0xa1
je 0x43b06a
cmp eax, 0x35
je 0x43b06a
cmp eax, 0x43
je 0x43b06a
push str.boost::filesystem::remove_all
push dword [ebp + 0xc]
push edi
push eax
call fcn.0043f9a0
add esp, 0x10
or eax, 0xffffffff
or edx, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub esp, 0xc
mov ecx, esp
push dword [ebp + 8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
push str.boost::filesystem::remove_all
lea ecx, [ebp - 0x74]
call fcn.0043ed00
push 0x4aff18
lea eax, [ebp - 0x74]
push eax
call fcn.00442ff2
int3