Function at 0x43ce50
Capabilities:
Delete file
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5872d3
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x5e5c10]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43ce98
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0
mov ecx, dword [0x5f0520]
push ecx
lea edx, [ebp - 0x60]
push 0x5bd174
push edx
call fcn.0040bd00
mov edi, dword [ebp - 0x60]
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
or esi, 0xffffffff
cmp ebx, esi
jne 0x43cf65
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43cf05
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
push edi
lea ecx, [ebp - 0x58]
push 0x5bd190
push ecx
mov byte [ebp - 4], 1
call fcn.0040bd00
mov ebx, dword [ebp - 0x58]
add esp, 0xc
push 0
push 0x5bd1b0
push ebx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43d34d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43d34d
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x43d339
mov esi, eax
shr esi, 1
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00456d04
mov edi, eax
lea eax, [esi + esi + 2]
push eax
push 0
push edi
call fcn.005632e0
mov edx, dword [ebp - 0x58]
add esp, 0x10
push 0
lea ecx, [ebp - 0x68]
push ecx
push edx
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ecx
add edi, 2
mov ecx, esp
mov dword [ebp - 0x64], esp
push edi
call fcn.00401990
lea esi, [ebp - 0x90]
call fcn.00450500
mov byte [ebp - 4], 2
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43d003
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x54], eax
xor ecx, ecx
push 0x3e
push ecx
lea edx, [ebp - 0x4e]
mov byte [ebp - 4], 3
push edx
mov word [ebp - 0x50], cx
call fcn.005632e0
add esp, 0xc
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43d045
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x90]
push ecx
lea esi, [ebp - 0x54]
mov byte [ebp - 4], 4
call fcn.00450630
test al, al
je 0x43d2c4
nop
push 3
lea edx, [ebp - 0x70]
push edx
lea ecx, [ebp - 0x54]
call fcn.00415630
mov eax, dword [eax]
mov ecx, 0x5bd1d0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43d0ab
test dx, dx
je 0x43d0a7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43d0ab
add eax, 4
add ecx, 4
test dx, dx
jne 0x43d085
xor eax, eax
jmp 0x43d0b0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [ebp - 0x70]
sete bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d0d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43d1be
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00450740
lea edx, [ebp - 0x78]
push edx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.004508f0
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x78]
push esi
lea eax, [ebp - 0x50]
push 0x20
push eax
call fcn.00562132
push 0x5b9d54
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x6c]
push edx
call fcn.00416220
add esp, 0x18
mov byte [ebp - 4], 8
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00433230
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d16f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d18f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d1b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x58]
jmp 0x43d291
push 4
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x54]
call fcn.00415630
mov eax, dword [eax]
mov ecx, 0x5b83f8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43d1f9
test dx, dx
je 0x43d1f5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43d1f9
add eax, 4
add ecx, 4
test dx, dx
jne 0x43d1d3
xor eax, eax
jmp 0x43d1fe
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [ebp - 0x64]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43d222
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43d262
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00433230
mov eax, dword [ebp - 0x5c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x7c], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x50]
mov dword [esi], eax
call fcn.0043ccc0
lea ecx, [ebp - 0x5c]
call fcn.00401a80
jmp 0x43d2ad
push 0x5b9d54
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x68]
push edx
call fcn.00416220
add esp, 0xc
mov byte [ebp - 4], 9
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00433230
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d2ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x90]
push ecx
lea esi, [ebp - 0x54]
call fcn.00450630
test al, al
jne 0x43d070
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43d2e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43d30a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x43d31d
push eax
call fcn.00456cf9
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x43d35d
push 0
push 0x5bd1b0
push 0x5bd1b8
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
mov dword [ebp - 4], esi
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x43d369
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055fd94
mov esp, ebp
pop ebp
ret