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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4969b5
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 0x43adfd
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x43b1bb
mov esi, dword [ebp + 0xc]
mov ecx, ebx
and ecx, 0x410
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
cmp ecx, 0x10
jne 0x43b1b0
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.00440da0
add esp, 0x14
test byte [ebp - 0x50], 1
je 0x43b0d9
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x58]
cmp edx, 1
jne 0x43ae70
test edi, edi
setne al
test al, al
je 0x43b0d9
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x4b3110
mov byte [ebp - 4], 1
cmp edx, 1
jne 0x43aeeb
mov ecx, 0x4b3110
call fcn.004353a0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], ecx
cmp eax, 1
jne 0x43aea7
mov ecx, dword [ebp - 0x54]
jmp 0x43aebe
test eax, eax
jne 0x43aeb4
xor edx, edx
mov ecx, 0x4b3184
jmp 0x43aec1
mov ecx, dword [ebp - 0x54]
call fcn.004353a0
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 0x43afed
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
push dword [ebp - 0x44]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43af22
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 0x43afed
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 0x43afed
mov dword [ebp - 0x34], 0x72
mov dword [ebp - 0x30], 0x4b3110
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 2
cmp eax, 1
jne 0x43afa7
mov ecx, 0x4b3110
call fcn.004353a0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
cmp eax, 1
jne 0x43af67
mov ecx, dword [ebp - 0x54]
jmp 0x43af7e
test eax, eax
jne 0x43af74
xor edx, edx
mov ecx, 0x4b3184
jmp 0x43af81
mov ecx, dword [ebp - 0x54]
call fcn.004353a0
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 0x43afe3
mov ecx, dword [ebp - 0x48]
lea edx, [ebp - 0x18]
push dword [ebp - 0x4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43afdc
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 0x43afe3
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 0x43afe5
mov al, 1
mov byte [ebp - 4], 0
test al, al
je 0x43b055
mov esi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43b01d
mov eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b01d
test esi, esi
je 0x43b01d
mov ecx, esi
call fcn.004401a0
push esi
call fcn.004402b0
add esp, 4
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 5
jb 0x43adf0
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
jne 0x43b0ba
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 0x43b244
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
je 0x43b230
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x43b202
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b202
test esi, esi
je 0x43b202
mov ecx, esi
call fcn.004401a0
push esi
call fcn.004402b0
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 0x43b144
cmp dword [edi + 0x34], 0
je 0x43b144
lea eax, [edi + 0xc]
push esi
push eax
call fcn.0043adb0
add esp, 8
add dword [ebp - 0x1c], eax
adc dword [ebp - 0x14], edx
test esi, esi
je 0x43b123
mov ecx, esi
call fcn.004354e0
test al, al
jne 0x43b06f
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.004413a0
add esp, 8
test esi, esi
je 0x43b0f0
mov ecx, esi
call fcn.004354e0
test al, al
je 0x43b0f0
jmp 0x43b06f
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x43b16f
or eax, 0xffffffff
lock xadd dword [edi], eax
add eax, 0xffffffff
jne 0x43b16f
test edi, edi
je 0x43b16f
mov ecx, edi
call fcn.004401a0
push edi
call fcn.004402b0
add esp, 4
mov edi, dword [ebp - 0x14]
push esi
push ebx
push dword [ebp + 8]
call fcn.0043bb70
add esp, 0xc
test esi, esi
je 0x43b195
mov ecx, dword [esi + 8]
test cl, 1
je 0x43b195
cmp ecx, 1
jne 0x43b202
cmp dword [esi], 0
jne 0x43b202
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 0x43b172
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43b21a
cmp eax, 3
je 0x43b21a
cmp eax, 0x7b
je 0x43b21a
cmp eax, 0xf
je 0x43b21a
cmp eax, 0x15
je 0x43b21a
cmp eax, 0x57
je 0x43b21a
cmp eax, 0xa1
je 0x43b21a
cmp eax, 0x35
je 0x43b21a
cmp eax, 0x43
je 0x43b21a
push str.boost::filesystem::remove_all
push dword [ebp + 0xc]
push edi
push eax
call fcn.0043fb50
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.0043eeb0
push 0x4aff80
lea eax, [ebp - 0x74]
push eax
call fcn.004431a2
int3