Function at 0x14000f670
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
test rcx, rcx
je 0x14000fa0b
mov rsi, rcx
lea rbx, [0x14007f6e4]
movabs r12, 0x7fffffffffffffff
jmp 0x14000f6d3
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str._dynamic_
nop word cs:[rax + rax]
call fcn.14000ec70
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x14000fa0b
mov rcx, qword [rsi + 0x98]
dec rcx
cmp rcx, 0x1b
ja case.default.0x14000f6f2
lea rax, [rsi + 0x20]
movsxd rcx, dword [rbx + rcx*4]
add rcx, rbx
jmp rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.relative_
call fcn.14000ec70
mov rcx, qword [rsp + 0x48]
call fcn.14000f670
lea rcx, [0x14008e2e8]
jmp 0x14000f6c0
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
test rsi, rsi
je 0x140010349
lea rcx, [0x14008e098]
jmp 0x14000f9df
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
lea rcx, [0x14008e0a8]
jmp 0x14000f9df
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.proc
call fcn.14000ec70
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14000f9bb
cmp qword [rax + 0x98], 0x12
jne 0x14001065a
mov r14, qword [rax + 0x20]
mov r15, qword [rax + 0x28]
mov byte [rsp + 0x30], 0x28
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000f7ec
test eax, eax
jne 0x14000f7f1
call sub.KERNEL32.dll_GetLastError
lea rsi, [0x14008e138]
test r15, r15
jle 0x14000f9c2
neg r15
mov r13, 0xffffffffffffffff
jmp 0x14000f82c
mov rcx, rdi
call fcn.14000f670
lea rax, [r15 + r13]
inc rax
inc r13
cmp rax, 0xffffffffffffffff
je 0x14000f9c2
mov rdi, qword [r14 + r13*8 + 8]
cmp r13, r12
jae 0x14000f810
lea rcx, [0x14008e308]
call fcn.14000ec70
jmp 0x14000f810
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, [0x14008e180]
jmp 0x14000f6c0
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0xb0], rcx
movups xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
movzx eax, byte [rsp + 0xa0]
cmp eax, 3
je 0x14000f9e9
cmp eax, 2
je 0x14000f9f2
cmp eax, 1
jne 0x14001043b
lea rcx, str.soa_
call fcn.14000ec70
mov rcx, qword [rsp + 0xb0]
call fcn.14000f1a0
mov byte [rsp + 0x30], 0x5d
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000f946
test eax, eax
jne 0x14000f94b
call sub.KERNEL32.dll_GetLastError
mov rsi, qword [rsp + 0xa8]
jmp 0x14000f6ca
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.matrix_
call fcn.14000ec70
mov rcx, qword [rsp + 0x58]
call fcn.14000f1a0
lea rcx, [0x14008e308]
call fcn.14000ec70
mov rcx, qword [rsp + 0x60]
call fcn.14000f1a0
lea rcx, [0x14008e318]
jmp 0x14000f6c0
mov rsi, qword [rax]
mov qword [rsp + 0x40], rsi
lea rcx, [0x14008e0b8]
jmp 0x14000f9df
lea rsi, [0x14008e0d8]
mov rcx, rsi
call fcn.14000ec70
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je case.default.0x14000f6f2
lea rcx, [0x14008e118]
call fcn.14000ec70
jmp 0x14000f6ca
lea rcx, str.soa_dynamic_
jmp 0x14000f9f9
lea rcx, str.soa__
call fcn.14000ec70
mov rsi, qword [rsp + 0xa8]
jmp 0x14000f6ca
lea rcx, [0x14008df98]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000ec70
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je case.default.0x14000f6f2
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
test rbx, rbx
jle case.default.0x14000f6f2
mov r14, qword [rsp + 0x40]
xor r15d, r15d
mov ebp, 0x40000000
lea rdi, [rsp + 0xc0]
mov r8d, ebx
sub r8d, r15d
cmp r8d, 0x40000000
cmovge r8d, ebp
lea rdx, [r14 + r15]
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov r9, rdi
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0xc0]
test rcx, rcx
je 0x140010431
test eax, eax
je 0x140010431
add r15, rcx
cmp r15, rbx
jl 0x14000faad
jmp case.default.0x14000f6f2
movzx eax, word [rsi + 0x20]
mov word [rsp + 0x40], ax
mov rcx, qword [rsi + 0x18]
movabs rdx, 0x100000000000043
cmp rcx, rdx
je 0x1400105ee
movabs rdx, 0x10000000000006b
cmp rcx, rdx
je 0x1400105fa
movabs rdx, 0x4100000000000004
cmp rcx, rdx
jne 0x140010606
lea rcx, [0x14008dfa8]
jmp 0x14000fa12
lea rcx, str.rune
jmp 0x14000fa12
movzx eax, byte [rax]
mov byte [rsp + 0x40], al
mov byte [rsp + 0x30], 0x66
mov ecx, 0xfffffff4
call fcn.14005f988
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000fbbf
test eax, eax
jne 0x14000fbc4
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rsi]
shl rcx, 3
call fcn.14000f1a0
jmp case.default.0x14000f6f2
lea rcx, str.complex
jmp 0x14000fbe5
lea rcx, str.quaternion
call fcn.14000ec70
jmp 0x14001061a
lea rcx, str.string
jmp 0x14000fa12
movabs rax, 0x70000000000001e
cmp qword [rsi + 0x18], rax
jne 0x140010369
lea rcx, str.bool
jmp 0x14000fa12
lea rcx, [0x14008e068]
jmp 0x14000fa12
lea rcx, str.typeid
jmp 0x14000fa12
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0x5b
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000fca7
test eax, eax
jne 0x1400102bc
call sub.KERNEL32.dll_GetLastError
jmp 0x1400102bc
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
test cl, cl
je 0x14000fce4
lea rcx, str.sparse
call fcn.14000ec70
mov byte [rsp + 0x30], 0x5b
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000fd43
test eax, eax
jne 0x14000fd48
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rsp + 0x48]
call fcn.14000f670
jmp 0x1400102c6
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rdi, qword [rsp + 0x58]
cmp rdi, 1
je 0x14000fd83
mov cl, 0x28
call fcn.14000ed50
test rdi, rdi
jle 0x14001035b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov rbp, 0xffffffffffffffff
xor eax, eax
mov esi, 0x40000000
lea rbx, [rsp + 0xc0]
mov qword [rsp + 0x120], rdi
jmp 0x14000fdf5
call sub.KERNEL32.dll_GetLastError
lea rcx, [0x14008e200]
call fcn.14000ec70
mov rdi, qword [rsp + 0x120]
mov rcx, r15
call fcn.14000f670
lea rax, [rbp + 1]
cmp rax, rdi
je 0x140010355
mov rcx, rbp
mov rbp, rax
shl rax, 4
mov rdx, qword [rsp + 0x110]
mov r13, qword [rdx + rax]
mov r14, qword [rdx + rax + 8]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
jae 0x14000fe2b
lea rcx, [0x14008e308]
call fcn.14000ec70
cmp rbp, qword [rsp + 0x38]
je 0x140010639
mov rax, qword [rsp + 0x118]
mov r15, qword [rax + rbp*8]
test r14, r14
jle 0x14000fde0
mov ecx, 0xfffffff4
call fcn.14005f988
mov r12, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
xor edi, edi
nop word cs:[rax + rax]
mov r8d, r14d
sub r8d, edi
cmp r8d, 0x40000000
cmovge r8d, esi
lea rdx, [rdi + r13]
mov qword [rsp + 0x20], 0
mov rcx, r12
mov r9, rbx
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0xc0]
test rcx, rcx
je 0x14000fdc7
test eax, eax
je 0x14000fdc7
add rdi, rcx
cmp rdi, r14
jl 0x14000fe80
jmp 0x14000fdcc
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.union
call fcn.14000ec70
cmp byte [rsp + 0x68], 0
je 0x14000ff1c
lea rcx, str.align_
call fcn.14000ec70
mov rcx, qword [rsi + 8]
call fcn.14000f1a0
lea rcx, [0x14008e2e8]
call fcn.14000ec70
cmp byte [rsp + 0x69], 0
je 0x14000ff2f
lea rcx, str.no_nil
call fcn.14000ec70
mov byte [rsp + 0x30], 0x7b
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x14000ff8e
test eax, eax
jne 0x14000ff93
call sub.KERNEL32.dll_GetLastError
mov rbx, qword [rsp + 0x48]
test rbx, rbx
jle 0x14001014e
movabs r14, 0x7fffffffffffffff
mov r15, qword [rsp + 0x40]
neg rbx
mov r12, 0xffffffffffffffff
lea rsi, [0x14008e308]
jmp 0x14000ffec
mov rcx, rdi
call fcn.14000f670
lea rax, [rbx + r12]
inc rax
inc r12
cmp rax, 0xffffffffffffffff
je 0x14001014e
mov rdi, qword [r15 + r12*8 + 8]
cmp r12, r14
jae 0x14000ffd0
mov rcx, rsi
call fcn.14000ec70
jmp 0x14000ffd0
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.enum
call fcn.14000ec70
mov rcx, qword [rsp + 0x40]
call fcn.14000f670
lea rcx, [0x14008e280]
call fcn.14000ec70
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
test rax, rax
jle 0x14001014e
mov r13, 0xffffffffffffffff
mov r12, qword [rsp + 0x48]
xor eax, eax
mov ebp, 0x40000000
lea rdi, [rsp + 0xc0]
jmp 0x14001008f
call sub.KERNEL32.dll_GetLastError
nop word cs:[rax + rax]
lea rax, [r13 + 1]
cmp rax, qword [rsp + 0x38]
je 0x14001014e
mov rcx, r13
mov r13, rax
shl rax, 4
mov rsi, qword [r12 + rax]
mov r15, qword [r12 + rax + 8]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
jae 0x1400100bd
lea rcx, [0x14008e308]
call fcn.14000ec70
test r15, r15
je 0x140010080
mov ecx, 0xfffffff4
call fcn.14005f988
mov rbx, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
test r15, r15
jle 0x140010080
xor r14d, r14d
nop word cs:[rax + rax]
mov r8d, r15d
sub r8d, r14d
cmp r8d, 0x40000000
cmovge r8d, ebp
lea rdx, [rsi + r14]
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov r9, rdi
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0xc0]
test rcx, rcx
je 0x14001006c
test eax, eax
je 0x14001006c
add r14, rcx
cmp r14, r15
jl 0x140010100
jmp 0x140010080
lea rcx, [0x14008c188]
call fcn.14000ec70
jmp case.default.0x14000f6f2
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.map_
call fcn.14000ec70
mov rcx, qword [rsp + 0x40]
call fcn.14000f670
mov byte [rsp + 0x30], 0x5d
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x1400101e5
test eax, eax
jne 0x1400101ea
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rsp + 0x48]
jmp 0x14001032f
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.bit_set_
call fcn.14000ec70
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x98]
cmp rax, 1
jne 0x140010281
mov rdx, rcx
nop word cs:[rax + rax]
movups xmm0, xmmword [rdx + 0x20]
movups xmm1, xmmword [rdx + 0x30]
movups xmm2, xmmword [rdx + 0x40]
movups xmm3, xmmword [rdx + 0x50]
movaps xmmword [rsp + 0xd0], xmm1
movups xmm1, xmmword [rdx + 0x60]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xc0], xmm0
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx + 0x98]
cmp rax, 1
je 0x140010230
cmp rax, 3
je 0x140010370
cmp rax, 0x15
jne 0x140010390
call fcn.14000f670
jmp 0x1400103b0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, str.simd_
call fcn.14000ec70
mov rcx, qword [rsp + 0x50]
call fcn.14000f1a0
mov byte [rsp + 0x30], 0x5d
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x140010325
test eax, eax
jne 0x14001032a
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rsp + 0x40]
call fcn.14000f670
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.rawptr
jmp 0x14000fa12
cmp rdi, 1
je case.default.0x14000f6f2
lea rcx, [0x14008e138]
call fcn.14000ec70
jmp case.default.0x14000f6f2
mov cl, 0x62
jmp 0x140010615
mov ecx, dword [rsp + 0x50]
call fcn.14000edc0
lea rcx, [0x1400893b0]
call fcn.14000ec70
mov ecx, dword [rsp + 0x58]
call fcn.14000edc0
jmp 0x1400103b0
mov rcx, qword [rsp + 0x50]
call fcn.14000f380
lea rcx, [0x1400893b0]
call fcn.14000ec70
mov rcx, qword [rsp + 0x58]
call fcn.14000f380
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x1400103ce
lea rcx, [0x14008e2b8]
call fcn.14000ec70
mov rcx, rsi
call fcn.14000f670
mov byte [rsp + 0x30], 0x5d
mov ecx, 0xfffffff4
call fcn.14005f988
mov rsi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rcx, rsi
mov r8d, 1
call sub.KERNEL32.dll_WriteFile
cmp dword [rsp + 0xc0], 0
je 0x140010431
test eax, eax
jne case.default.0x14000f6f2
call sub.KERNEL32.dll_GetLastError
jmp case.default.0x14000f6f2
lea rcx, str.struct
call fcn.14000ec70
cmp byte [rsp + 0x90], 0
je 0x14001045d
lea rcx, str.packed
call fcn.14000ec70
cmp byte [rsp + 0x91], 0
je 0x140010473
lea rcx, str.raw_union
call fcn.14000ec70
cmp byte [rsp + 0x93], 0
je 0x14001049e
lea rcx, str.align_
call fcn.14000ec70
mov rcx, qword [rsi + 8]
call fcn.14000f1a0
lea rcx, [0x14008e2e8]
call fcn.14000ec70
mov cl, 0x7b
call fcn.14000ed50
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
test rax, rax
jle 0x1400105e2
mov rbp, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x110], rax
mov r13, 0xffffffffffffffff
xor eax, eax
mov ebx, 0x40000000
lea r14, [rsp + 0xc0]
mov rcx, r13
mov r13, rax
shl rax, 4
mov rsi, qword [rbp + rax]
mov rdi, qword [rbp + rax + 8]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
jae 0x14001051c
lea rcx, [0x14008e308]
call fcn.14000ec70
test rdi, rdi
je 0x1400105a8
mov ecx, 0xfffffff4
call fcn.14005f988
mov r15, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
mov dword [rsp + 0xc0], 0
test rdi, rdi
jle 0x1400105a8
xor r12d, r12d
nop word cs:[rax + rax]
mov r8d, edi
sub r8d, r12d
cmp r8d, 0x40000000
cmovge r8d, ebx
lea rdx, [rsi + r12]
mov qword [rsp + 0x20], 0
mov rcx, r15
mov r9, r14
call sub.KERNEL32.dll_WriteFile
mov ecx, dword [rsp + 0xc0]
test rcx, rcx
je 0x1400105a3
test eax, eax
je 0x1400105a3
add r12, rcx
cmp r12, rdi
jl 0x140010560
jmp 0x1400105a8
call sub.KERNEL32.dll_GetLastError
lea rcx, [0x14008e200]
call fcn.14000ec70
cmp r13, qword [rsp + 0x110]
je 0x140010693
mov rax, qword [rsp + 0x118]
mov rcx, qword [rax + r13*8]
call fcn.14000f670
lea rax, [r13 + 1]
cmp rax, qword [rsp + 0x38]
jne 0x1400104ed
mov cl, 0x7d
call fcn.14000ed50
jmp case.default.0x14000f6f2
lea rcx, str.uintptr
jmp 0x14000fa12
lea rcx, str.uint
jmp 0x14000fa12
test al, al
mov eax, 0x75
mov ecx, 0x69
cmove ecx, eax
call fcn.14000ed50
mov rcx, qword [rsi]
shl rcx, 3
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000f1a0
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x20], r9
lea rcx, str.c:_programs_odin_base_runtime_print.odin
mov edx, 0x153
mov r8d, 0x14
call fcn.14005d190
add rax, 0x20
mov qword [rsp + 0x28], rax
movabs rax, 0x320000000000003a
mov qword [rsp + 0x20], rax
lea rcx, str.c:_programs_odin_base_runtime_print.odin
movabs r9, 0x1300000000000016
mov edx, 0x141
mov r8d, 9
call fcn.14005e410
mov r9, qword [rsp + 0x110]
mov qword [rsp + 0x20], r9
lea rcx, str.c:_programs_odin_base_runtime_print.odin
mov edx, 0x19a
mov r8d, 0x1a
call fcn.14005d190
int3