Function at 0x43b0b0
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x64
push 0xffffffffffffffff
push 0x49684d
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.0043c310
mov eax, dword [ebp - 0x38]
add esp, 0x10
test eax, eax
jne 0x43b139
movq xmm0, qword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x43b6be
movq qword [edi], xmm0
mov dword [edi + 8], eax
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b6a1
xorps xmm0, xmm0
movlpd qword [ebp + 0x18], xmm0
cmp eax, 3
jne 0x43b68f
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.00440bf0
add esp, 0x14
test byte [ebp + 0x14], 1
je 0x43b1be
mov ecx, dword [ebp + 0x14]
cmp ecx, 1
jne 0x43b198
cmp dword [ebp + 0xc], 0
setne al
test al, al
je 0x43b1be
movq xmm0, qword [ebp + 0xc]
test edi, edi
jne 0x43b1b2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
jmp 0x43b6ca
movq qword [edi], xmm0
mov dword [edi + 8], ecx
jmp 0x43b602
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 0x43b1ef
cmp dword [esi + 0x34], 0
je 0x43b1ef
xor al, al
jmp 0x43b1f1
mov al, 1
test al, al
jne 0x43b631
lea eax, [esi + 0xc]
push eax
lea ecx, [ebp + 0x48]
call fcn.004046c0
mov dword [ebp + 0x2c], 0xffffffff
cmp dword [ebp + 4], 0
lea eax, [ebp + 0x48]
mov byte [ebp - 4], 3
je 0x43b476
push eax
call fcn.00432160
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 0x43b26b
sar edx, 1
push edx
push ecx
lea ecx, [ebp + 0x30]
call fcn.0040dd70
mov ebx, dword [0x4b55d4]
mov byte [ebp - 4], 4
nop
test ebx, ebx
jne 0x43b284
mov esi, 0xc0000002
jmp 0x43b344
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 0x43b2d7
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 0x43b344
test dword [ebp - 0x18], 0x1000
je 0x43b344
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 0x43b38a
mov ecx, dword [ebp + 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
mov byte [ebp - 4], 5
cmp edx, 0x1000
jb 0x43b37c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43b6e6
push edx
push ecx
call fcn.0042d5b2
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 0x43b434
cmp esi, 0xc000000f
je 0x43b3d2
cmp esi, 0xc0000034
je 0x43b3d2
cmp esi, 0xc000003a
je 0x43b3d2
cmp esi, 0xc00000be
je 0x43b3d2
cmp esi, 0xc00000cc
jne 0x43b526
mov ebx, dword [ebp + 0x24]
lea eax, [ebp + 0x28]
push edi
push eax
call fcn.004411f0
add esp, 8
test edi, edi
je 0x43b3ff
mov eax, dword [edi + 8]
test al, 1
je 0x43b3ff
cmp eax, 1
jne 0x43b5e7
cmp dword [edi], 0
jne 0x43b5e7
mov eax, dword [ebp + 0x2c]
mov byte [ebp - 4], 0xa
cmp eax, 0xffffffff
je 0x43b412
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x5c]
mov byte [ebp - 4], 0xb
cmp eax, 8
jb 0x43b1da
inc eax
lea ecx, [ebp + 0x48]
push eax
push dword [ebp + 0x48]
call fcn.0042398a
jmp 0x43b1da
mov eax, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x24]
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043b0b0
add esp, 0xc
add dword [ebp + 0x20], eax
adc ebx, edx
mov dword [ebp + 0x24], ebx
test edi, edi
je 0x43b3d5
mov eax, dword [edi + 8]
test al, 1
je 0x43b514
cmp eax, 1
jne 0x43b46d
cmp dword [edi], 0
je 0x43b3d5
mov byte [ebp - 4], 8
jmp 0x43b5eb
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 0x43b43a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x43b3d5
cmp eax, 3
je 0x43b3d5
cmp eax, 0x7b
je 0x43b3d5
cmp eax, 0xf
je 0x43b3d5
cmp eax, 0x15
je 0x43b3d5
cmp eax, 0x57
je 0x43b3d5
cmp eax, 0xa1
je 0x43b3d5
cmp eax, 0x35
je 0x43b3d5
cmp eax, 0x43
je 0x43b3d5
push str.boost::filesystem::remove_all
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043f9a0
add esp, 0x10
mov byte [ebp - 4], 7
jmp 0x43b5eb
lea eax, [ebp + 0x28]
push edi
push eax
call fcn.004411f0
add esp, 8
jmp 0x43b3e6
cmp esi, 0xc0000003
ja 0x43b556
je case.0x43b575.1073741815
cmp esi, 0x80000005
je 0x43b54f
cmp esi, 0x80000006
jne case.0x43b575.1073741815
mov eax, 0x12
jmp 0x43b5ce
mov eax, 0x6f
jmp 0x43b5ce
cmp esi, 0xc0000225
ja case.0x43b575.1073741815
je 0x43b5c2
add esi, 0x3ffffff8
cmp esi, 0xfb
ja case.0x43b575.1073741815
movzx eax, byte [esi + 0x43b718]
jmp dword [eax*4 + 0x43b6ec]
mov eax, 0xe
jmp 0x43b5ce
mov eax, 6
jmp 0x43b5ce
mov eax, 0x57
jmp 0x43b5ce
mov eax, 0x37
jmp 0x43b5ce
mov eax, 2
jmp 0x43b5ce
mov eax, 5
jmp 0x43b5ce
mov eax, 0x35
jmp 0x43b5ce
mov eax, 0x43
jmp 0x43b5ce
mov eax, 0x91
jmp 0x43b5ce
mov eax, 0x10b
jmp 0x43b5ce
mov eax, 0x490
jmp 0x43b5ce
mov eax, 0x32
push str.boost::filesystem::remove_all
push edi
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.0043f9a0
add esp, 0x10
mov byte [ebp - 4], 6
jmp 0x43b5eb
mov byte [ebp - 4], 9
mov eax, dword [ebp + 0x2c]
cmp eax, 0xffffffff
je 0x43b5fa
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 0x48]
call fcn.004058b0
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x43b629
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b629
test esi, esi
je 0x43b629
mov ecx, esi
call fcn.0043fff0
push esi
call fcn.00440100
add esp, 4
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b6a1
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x43b65c
or eax, 0xffffffff
lock xadd dword [esi], eax
add eax, 0xffffffff
jne 0x43b65c
test esi, esi
je 0x43b65c
mov ecx, esi
call fcn.0043fff0
push esi
call fcn.00440100
add esp, 4
mov esi, dword [ebp + 0x20]
mov eax, dword [0x4b55cc]
nop
push eax
push dword [ebp + 8]
call fcn.0043bb10
add esp, 8
test eax, eax
je 0x43b697
push str.boost::filesystem::remove_all
push edi
push dword [ebp]
push eax
call fcn.0043f9a0
add esp, 0x10
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x43b6a1
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
jmp 0x43b65f
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.0042d6f2
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.0043ed00
push 0x4aff18
lea eax, [ebp - 0x68]
push eax
call fcn.00442ff2
call fcn.0044f541
nop
xor dword [ebp - 0x4a75ffbd], 0x43
add byte [ecx - 1744813131], dl
mov ch, 0x43
add byte [ebp + esi*4 + 0x43], bh
add byte [edi - 0x59ffbc4b], bl
mov ch, 0x43
add byte [ebp - 0x4bffbc4b], ch
mov ch, 0x43
add byte [ebx - 0x36ffbc4b], bh
mov ch, 0x43
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