Function at 0x43b260
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x64
push 0xffffffffffffffff
push 0x496a0d
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4b3094]
xor eax, ebp
mov dword [ebp + 0x60], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x70]
lea eax, [ebp + 0xc]
mov esi, dword [ebp + 0x6c]
xorps xmm0, xmm0
mov edi, dword [ebp + 0x74]
push eax
push ebx
lea eax, [ebp - 0x38]
mov dword [ebp + 8], esi
push esi
push eax
mov dword [ebp], ebx
movq qword [ebp + 0xc], xmm0
mov dword [ebp + 0x14], 0
call fcn.0043c4c0
mov eax, dword [ebp - 0x38]
add esp, 0x10
test eax, eax
jne 0x43b2e9
movq xmm0, qword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x43b86e
movq qword [edi], xmm0
mov dword [edi + 8], eax
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b851
xorps xmm0, xmm0
movlpd qword [ebp + 0x18], xmm0
cmp eax, 3
jne 0x43b83f
xor eax, eax
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], eax
movq qword [ebp + 0xc], xmm0
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x28], eax
mov dword [ebp - 4], eax
mov byte [ebp - 0x28], al
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
push eax
push 0x10
lea eax, [ebp + 0x28]
push ebx
push eax
call fcn.00440da0
add esp, 0x14
test byte [ebp + 0x14], 1
je 0x43b36e
mov ecx, dword [ebp + 0x14]
cmp ecx, 1
jne 0x43b348
cmp dword [ebp + 0xc], 0
setne al
test al, al
je 0x43b36e
movq xmm0, qword [ebp + 0xc]
test edi, edi
jne 0x43b362
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
jmp 0x43b87a
movq qword [edi], xmm0
mov dword [edi + 8], ecx
jmp 0x43b7b2
mov eax, dword [0x4b55d4]
mov dword [ebp + 4], eax
nop
mov dword [ebp - 0x30], 0
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 0x28]
mov byte [ebp - 4], 1
test esi, esi
je 0x43b39f
cmp dword [esi + 0x34], 0
je 0x43b39f
xor al, al
jmp 0x43b3a1
mov al, 1
test al, al
jne 0x43b7e1
lea eax, [esi + 0xc]
push eax
lea ecx, [ebp + 0x48]
call fcn.004046a0
mov dword [ebp + 0x2c], 0xffffffff
cmp dword [ebp + 4], 0
lea eax, [ebp + 0x48]
mov byte [ebp - 4], 3
je 0x43b626
push eax
call fcn.004322c0
mov ecx, dword [ebp + 0x58]
mov edx, eax
sub ecx, edx
mov dword [ebp + 0x30], 0
add esp, 4
mov dword [ebp + 0x40], 0
cmp dword [ebp + 0x5c], 8
lea eax, [ebp + 0x48]
mov dword [ebp + 0x44], 7
cmovae eax, dword [ebp + 0x48]
add edx, edx
xor esi, esi
mov word [ebp + 0x30], si
lea ecx, [eax + ecx*2]
lea eax, [edx + ecx]
cmp ecx, eax
je 0x43b41b
sar edx, 1
push edx
push ecx
lea ecx, [ebp + 0x30]
call fcn.0040dd40
mov ebx, dword [0x4b55d4]
mov byte [ebp - 4], 4
nop
test ebx, ebx
jne 0x43b434
mov esi, 0xc0000002
jmp 0x43b4f4
cmp dword [ebp + 0x44], 8
lea eax, [ebp + 0x30]
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0x18
cmovae eax, dword [ebp + 0x30]
movlpd qword [ebp + 0x18], xmm0
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x40]
add eax, eax
movlpd qword [ebp - 0x14], xmm0
mov word [ebp + 0x1a], ax
mov word [ebp + 0x18], ax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0x1c], eax
mov al, byte [0x4b55d0]
mov dword [ebp - 0x18], 0x40
nop
test al, al
jne 0x43b487
or dword [ebp - 0x18], 0x1000
push 0
push 0
push 0x204020
push 1
push 7
push 0
push 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x110199
lea eax, [ebp + 0x2c]
push eax
call ebx
mov esi, eax
cmp esi, 0xc000000d
jne 0x43b4f4
test dword [ebp - 0x18], 0x1000
je 0x43b4f4
nop
mov byte [0x4b55d0], 1
nop
and dword [ebp - 0x18], 0xffffefff
lea eax, [ebp - 0x40]
push 0
push 0
push 0x204020
push 1
push 7
push 0
push 0
push eax
lea eax, [ebp - 0x24]
push eax
push 0x110199
lea eax, [ebp + 0x2c]
push eax
call ebx
mov esi, eax
mov edx, dword [ebp + 0x44]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x43b53a
mov ecx, dword [ebp + 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
mov byte [ebp - 4], 5
cmp edx, 0x1000
jb 0x43b52c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b896
push edx
push ecx
call fcn.0042d71f
add esp, 8
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x44], 7
mov word [ebp + 0x30], ax
test esi, esi
jns 0x43b5e4
cmp esi, 0xc000000f
je 0x43b582
cmp esi, 0xc0000034
je 0x43b582
cmp esi, 0xc000003a
je 0x43b582
cmp esi, 0xc00000be
je 0x43b582
cmp esi, 0xc00000cc
jne 0x43b6d6
mov ebx, dword [ebp + 0x24]
lea eax, [ebp + 0x28]
push edi
push eax
call fcn.004413a0
add esp, 8
test edi, edi
je 0x43b5af
mov eax, dword [edi + 8]
test al, 1
je 0x43b5af
cmp eax, 1
jne 0x43b797
cmp dword [edi], 0
jne 0x43b797
mov eax, dword [ebp + 0x2c]
mov byte [ebp - 4], 0xa
cmp eax, 0xffffffff
je 0x43b5c2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x5c]
mov byte [ebp - 4], 0xb
cmp eax, 8
jb 0x43b38a
inc eax
lea ecx, [ebp + 0x48]
push eax
push dword [ebp + 0x48]
call fcn.00423af8
jmp 0x43b38a
mov eax, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x24]
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043b260
add esp, 0xc
add dword [ebp + 0x20], eax
adc ebx, edx
mov dword [ebp + 0x24], ebx
test edi, edi
je 0x43b585
mov eax, dword [edi + 8]
test al, 1
je 0x43b6c4
cmp eax, 1
jne 0x43b61d
cmp dword [edi], 0
je 0x43b585
mov byte [ebp - 4], 8
jmp 0x43b79b
cmp dword [ebp + 0x5c], 8
push 0
cmovae eax, dword [ebp + 0x48]
push 0x2200000
push 3
push 0
push 7
push 0x110199
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp + 0x2c], eax
cmp eax, 0xffffffff
jne 0x43b5ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43b585
cmp eax, 3
je 0x43b585
cmp eax, 0x7b
je 0x43b585
cmp eax, 0xf
je 0x43b585
cmp eax, 0x15
je 0x43b585
cmp eax, 0x57
je 0x43b585
cmp eax, 0xa1
je 0x43b585
cmp eax, 0x35
je 0x43b585
cmp eax, 0x43
je 0x43b585
push str.boost::filesystem::remove_all
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043fb50
add esp, 0x10
mov byte [ebp - 4], 7
jmp 0x43b79b
lea eax, [ebp + 0x28]
push edi
push eax
call fcn.004413a0
add esp, 8
jmp 0x43b596
cmp esi, 0xc0000003
ja 0x43b706
je case.0x43b725.1073741815
cmp esi, 0x80000005
je 0x43b6ff
cmp esi, 0x80000006
jne case.0x43b725.1073741815
mov eax, 0x12
jmp 0x43b77e
mov eax, 0x6f
jmp 0x43b77e
cmp esi, 0xc0000225
ja case.0x43b725.1073741815
je 0x43b772
add esi, 0x3ffffff8
cmp esi, 0xfb
ja case.0x43b725.1073741815
movzx eax, byte [esi + 0x43b8c8]
jmp dword [eax*4 + 0x43b89c]
mov eax, 0xe
jmp 0x43b77e
mov eax, 6
jmp 0x43b77e
mov eax, 0x57
jmp 0x43b77e
mov eax, 0x37
jmp 0x43b77e
mov eax, 2
jmp 0x43b77e
mov eax, 5
jmp 0x43b77e
mov eax, 0x35
jmp 0x43b77e
mov eax, 0x43
jmp 0x43b77e
mov eax, 0x91
jmp 0x43b77e
mov eax, 0x10b
jmp 0x43b77e
mov eax, 0x490
jmp 0x43b77e
mov eax, 0x32
push str.boost::filesystem::remove_all
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043fb50
add esp, 0x10
mov byte [ebp - 4], 6
jmp 0x43b79b
mov byte [ebp - 4], 9
mov eax, dword [ebp + 0x2c]
cmp eax, 0xffffffff
je 0x43b7aa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 0x48]
call fcn.00405890
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x43b7d9
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b7d9
test esi, esi
je 0x43b7d9
mov ecx, esi
call fcn.004401a0
push esi
call fcn.004402b0
add esp, 4
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b851
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43b80c
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b80c
test esi, esi
je 0x43b80c
mov ecx, esi
call fcn.004401a0
push esi
call fcn.004402b0
add esp, 4
mov esi, dword [ebp + 0x20]
mov eax, dword [0x4b55cc]
nop
push eax
push dword [ebp + 8]
call fcn.0043bcc0
add esp, 8
test eax, eax
je 0x43b847
push str.boost::filesystem::remove_all
push edi
push dword [ebp]
push eax
call fcn.0043fb50
add esp, 0x10
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b851
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
jmp 0x43b80f
add esi, 1
mov eax, esi
adc ebx, 0
mov edx, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x60]
xor ecx, ebp
call fcn.0042d85f
lea esp, [ebp + 0x64]
pop ebp
ret
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
push ebx
push str.boost::filesystem::remove_all
lea ecx, [ebp - 0x68]
call fcn.0043eeb0
push 0x4aff80
lea eax, [ebp - 0x68]
push eax
call fcn.004431a2
call fcn.0044f6f1
nop
xor esi, dword [edi - 0x48c5ffbd]
inc ebx
add byte [ecx - 0x49], al
inc ebx
add byte [eax - 0x49], cl
inc ebx
add byte [edi + esi*4], ch
inc ebx
add byte [edi - 0x49], cl
inc ebx
add byte [esi - 0x49], dl
inc ebx
add byte [ebp - 0x49], bl
inc ebx
add byte [edi + esi*4 + 0x43], ah
add byte [ebx - 0x49], ch
inc ebx
add byte [ecx - 0x49], bh
inc ebx
add byte [eax], al
or cl, byte [edx]
or cl, byte [edx]
add dword [edx], eax
add ecx, dword [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
add al, 10
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [168430090]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [ebx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [ebx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [esi]
or al, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [edi]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or byte [edx], cl
or esp, ecx
int3