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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x499025
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4b50a4]
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 0x43d35d
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x43d71b
mov esi, dword [ebp + 0xc]
mov ecx, ebx
and ecx, 0x410
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
cmp ecx, 0x10
jne 0x43d710
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.00443300
add esp, 0x14
test byte [ebp - 0x50], 1
je 0x43d639
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x58]
cmp edx, 1
jne 0x43d3d0
test edi, edi
setne al
test al, al
je 0x43d639
mov dword [ebp - 0x2c], 0x14
mov dword [ebp - 0x28], 0x4b5120
mov byte [ebp - 4], 1
cmp edx, 1
jne 0x43d44b
mov ecx, 0x4b5120
call fcn.00437930
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], ecx
cmp eax, 1
jne 0x43d407
mov ecx, dword [ebp - 0x54]
jmp 0x43d41e
test eax, eax
jne 0x43d414
xor edx, edx
mov ecx, 0x4b5194
jmp 0x43d421
mov ecx, dword [ebp - 0x54]
call fcn.00437930
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 0x43d54d
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
push dword [ebp - 0x44]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43d482
test edx, edx
mov ecx, 0x4b50c8
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 0x43d54d
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x58]
push dword [ebp - 0x2c]
test eax, eax
mov ecx, 0x4b5120
cmovne ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
test al, al
jne 0x43d54d
mov dword [ebp - 0x34], 0x72
mov dword [ebp - 0x30], 0x4b5120
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 2
cmp eax, 1
jne 0x43d507
mov ecx, 0x4b5120
call fcn.00437930
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
cmp eax, 1
jne 0x43d4c7
mov ecx, dword [ebp - 0x54]
jmp 0x43d4de
test eax, eax
jne 0x43d4d4
xor edx, edx
mov ecx, 0x4b5194
jmp 0x43d4e1
mov ecx, dword [ebp - 0x54]
call fcn.00437930
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 0x43d543
mov ecx, dword [ebp - 0x48]
lea edx, [ebp - 0x18]
push dword [ebp - 0x4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
jmp 0x43d53c
test eax, eax
lea edx, [ebp - 0x34]
mov ecx, 0x4b50c8
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 0x43d543
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x58]
push dword [ebp - 0x34]
test eax, eax
mov ecx, 0x4b5120
cmovne ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
test al, al
je 0x43d545
mov al, 1
mov byte [ebp - 4], 0
test al, al
je 0x43d5b5
mov esi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43d57d
mov eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43d57d
test esi, esi
je 0x43d57d
mov ecx, esi
call fcn.00442700
push esi
call fcn.00442810
add esp, 4
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 5
jb 0x43d350
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
jne 0x43d61a
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 0x43d7a4
mov ecx, dword [ebp + 0xc]
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
test ecx, ecx
je 0x43d790
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x43d762
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43d762
test esi, esi
je 0x43d762
mov ecx, esi
call fcn.00442700
push esi
call fcn.00442810
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 0x43d6a4
cmp dword [edi + 0x34], 0
je 0x43d6a4
lea eax, [edi + 0xc]
push esi
push eax
call fcn.0043d310
add esp, 8
add dword [ebp - 0x1c], eax
adc dword [ebp - 0x14], edx
test esi, esi
je 0x43d683
mov ecx, esi
call fcn.00437a70
test al, al
jne 0x43d5cf
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.00443900
add esp, 8
test esi, esi
je 0x43d650
mov ecx, esi
call fcn.00437a70
test al, al
je 0x43d650
jmp 0x43d5cf
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x43d6cf
or eax, 0xffffffff
lock xadd dword [edi], eax
add eax, 0xffffffff
jne 0x43d6cf
test edi, edi
je 0x43d6cf
mov ecx, edi
call fcn.00442700
push edi
call fcn.00442810
add esp, 4
mov edi, dword [ebp - 0x14]
push esi
push ebx
push dword [ebp + 8]
call fcn.0043e0d0
add esp, 0xc
test esi, esi
je 0x43d6f5
mov ecx, dword [esi + 8]
test cl, 1
je 0x43d6f5
cmp ecx, 1
jne 0x43d762
cmp dword [esi], 0
jne 0x43d762
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 0x43d6d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43d77a
cmp eax, 3
je 0x43d77a
cmp eax, 0x7b
je 0x43d77a
cmp eax, 0xf
je 0x43d77a
cmp eax, 0x15
je 0x43d77a
cmp eax, 0x57
je 0x43d77a
cmp eax, 0xa1
je 0x43d77a
cmp eax, 0x35
je 0x43d77a
cmp eax, 0x43
je 0x43d77a
push str.boost::filesystem::remove_all
push dword [ebp + 0xc]
push edi
push eax
call fcn.004420b0
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.00441410
push 0x4b24f8
lea eax, [ebp - 0x74]
push eax
call fcn.00445702
int3