Function at 0x1000bde0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100539a0
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x1005f004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x60], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, dword [0x100611dc]
jne 0x1000c1e4
cmp byte [0x100611b5], 0
je 0x1000c1e4
mov eax, dword [ebp - 0x38]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x60]
mov edx, 0x10061500
movlpd qword [ebp - 0x44], xmm0
test ecx, ecx
movlpd qword [ebp - 0x5c], xmm0
mov dword [edi], 0
mov dword [eax], 0
mov eax, 0x100613f8
cmove edx, eax
mov dword [ebp - 4], 0
cmp byte [ebp + 0x14], 0
mov word [ebp - 0x48], 0x6272
mov byte [ebp - 0x46], 0
jne 0x1000becf
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000bea0
sub ecx, esi
je 0x1000c1f4
lea eax, [ebp - 0x48]
push eax
push edx
call fcn.100318c8
mov esi, eax
add esp, 8
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x1000c1f4
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp + 8]
test eax, eax
jne 0x1000befe
push eax
push eax
push esi
mov dword [ebp - 0x44], 0xa8c51
mov dword [ebp - 0x40], eax
call fcn.10031f97
push esi
push 1
lea eax, [ebp - 0x5c]
push 8
push eax
call fcn.10031b20
add esp, 0x1c
jmp 0x1000bfed
test ecx, ecx
jne 0x1000bfac
mov ecx, dword [0x100612ec]
test ecx, ecx
jle 0x1000bfac
cmp eax, ecx
jl 0x1000bfac
sub eax, ecx
jne 0x1000bf60
push eax
lea eax, [ecx*8 - 8]
push eax
push esi
call fcn.10031f97
push esi
push 1
lea eax, [ebp - 0x44]
push 8
push eax
call fcn.10031b20
mov eax, dword [0x100613f4]
push 2
neg eax
push eax
push esi
call fcn.10031f97
push esi
push 1
lea eax, [ebp - 0x5c]
push 8
push eax
call fcn.10031b20
add esp, 0x38
jmp 0x1000bf95
lea eax, [eax*8 - 8]
sub eax, dword [0x100613f4]
push 2
push eax
push esi
call fcn.10031f97
push esi
push 1
lea eax, [ebp - 0x44]
push 8
push eax
call fcn.10031b20
push esi
push 1
lea eax, [ebp - 0x5c]
push 8
push eax
call fcn.10031b20
add esp, 0x2c
push edx
xor edx, eax
xor edx, eax
sbb edx, eax
xor edx, eax
mov edx, 0xd954d04f
pop edx
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x54]
jmp 0x1000bfed
lea eax, [eax*8 - 8]
push 0
push eax
push esi
call fcn.10031f97
push esi
push 1
lea eax, [ebp - 0x44]
push 8
push eax
call fcn.10031b20
push esi
push 1
lea eax, [ebp - 0x5c]
push 8
push eax
call fcn.10031b20
add esp, 0x2c
call fcn.1001c67b
cmp eax, 0xffffffff
jge 0x1000bfed
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
sub ecx, 1
mov eax, dword [ebp - 0x5c]
sbb edx, 0
mov dword [ebp - 0x44], ecx
sub eax, ecx
mov dword [ebp - 0x40], edx
add eax, 0xfffffffb
cmp dword [ebp - 0x58], 0
mov dword [edi], eax
jl 0x1000c1d0
jg 0x1000c01f
cmp dword [ebp - 0x5c], 0
jbe 0x1000c1d0
test edx, edx
jl 0x1000c1d0
jg 0x1000c032
cmp ecx, 1
jbe 0x1000c1d0
dec eax
cmp eax, 0x98967e
ja 0x1000c1d0
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.10031c51
add esp, 8
test eax, eax
jne 0x1000c1d0
push edi
add edi, esp
sbb edi, edx
sbb edi, eax
add edi, esi
mov edi, 0xc6fc356f
or edi, edi
pop edi
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x64]
push esi
push 1
push 4
push eax
call fcn.10031b20
add esp, 0x10
cmp eax, 1
jne 0x1000c1d0
mov eax, dword [ebp - 0x64]
test eax, eax
jle 0x1000c1d0
mov edi, dword [ebp - 0x68]
push eax
push 1
push edi
call fcn.10005ca0
push esi
push 0x1e
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x34]
movq qword [ebp - 0x24], xmm0
push 1
push eax
movups xmmword [ebp - 0x34], xmm0
mov word [ebp - 0x18], 0
call fcn.10031b20
add esp, 0x1c
cmp eax, 0x1e
jne 0x1000c1d0
cmp byte [ebp - 0x34], 0xff
jne 0x1000c0e3
push 1
push 0xffffffffffffffe2
push esi
call fcn.10031f97
mov edi, dword [ebp - 0x54]
add esp, 0xc
jmp 0x1000c0fb
push 0x1e
lea eax, [ebp - 0x34]
push eax
lea eax, [edi + 0x13]
push eax
call fcn.1002e630
mov edi, dword [ebp - 0x54]
add esp, 0xc
add dword [edi], 0xffffffe2
cmp byte [ebp + 0x14], 0
mov eax, dword [edi]
push eax
je 0x1000c122
call fcn.10010ed5
mov ecx, dword [ebp - 0x38]
add esp, 4
jmp 0x1000c12f
push 0
push 0x11
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [edi]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xfffffffe
jne 0x1000c147
push 0
push 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov al, byte [ebp + 0x14]
test al, al
jne 0x1000c160
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov al, byte [ebp + 0x14]
mov ecx, dword [edi]
push esi
push ecx
push 1
test al, al
je 0x1000c171
mov eax, dword [ebp - 0x38]
push dword [eax]
jmp 0x1000c174
push dword [ebp - 0x38]
call fcn.10031b20
add esp, 0x10
cmp eax, dword [edi]
je 0x1000c1ac
cmp byte [ebp + 0x14], 0
je 0x1000c193
push dword [ebp - 0x38]
call fcn.100022c0
add esp, 4
jmp 0x1000c1f4
mov eax, dword [ebp - 0x4c]
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea eax, [ebp - 0x3c]
push eax
call fcn.1000bd20
add esp, 4
jmp 0x1000c1f4
cmp byte [ebp + 0x14], 0
jne 0x1000c1c9
mov eax, dword [ebp - 0x4c]
push dword [eax]
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
lea eax, [ebp - 0x3c]
push eax
call fcn.1000bd20
add esp, 4
mov eax, 1
jmp 0x1000c1f6
cmp byte [ebp + 0x14], 0
jne 0x1000c1f4
lea eax, [ebp - 0x3c]
push eax
call fcn.1000bd20
add esp, 4
jmp 0x1000c1f4
push eax
xor eax, edx
xor eax, esi
sbb eax, edx
xor eax, esi
xor eax, edx
sbb eax, esi
and eax, ebx
pop eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10010ee3
mov esp, ebp
pop ebp
ret