joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000af00
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
je 0x14000aff5
mov rdi, qword [rcx + 8]
test rdi, rdi
je 0x14000af30
mov rax, qword [rdi]
bt rax, 0x3e
jae 0x14000b028
mov rbp, rbx
add rbp, 1
jo 0x14000b098
mov r12, rbp
add r12, 8
jo 0x14000b098
movabs r8, 0x7fffffffffffffff
xor edx, edx
test r12, r12
mov rcx, r12
js 0x14000b014
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, r12
mov rcx, rax
call sym.rawAlloc__system_u6833
mov qword [rsi + 8], rax
mov qword [rax], rbx
mov rcx, qword [rsi]
test rcx, rcx
jle 0x14000b0c0
cmp rcx, rbx
cmovg rcx, rbx
test rcx, rcx
js 0x14000b008
mov rax, qword [rsi + 8]
lea rdx, [rdi + 8]
mov r8, rcx
add rax, 8
mov rcx, rax
call sym.memcpy
mov rax, qword [rsi]
cmp rax, rbx
jge 0x14000b0e0
mov rcx, rbx
sub rcx, rax
jo 0x14000b098
add rcx, 1
jo 0x14000b098
test rcx, rcx
js 0x14000b008
mov rdx, qword [rsi + 8]
mov r8, rcx
lea rax, [rdx + rax + 8]
xor edx, edx
mov rcx, rax
call sym.memset
mov rdi, qword [rsi + 8]
mov byte [rdi + rbx + 8], 0
mov qword [rsi], rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseRangeErrorI
cmp qword [rcx], rdx
jge 0x14000aff0
btr rax, 0x3e
cmp rdx, rax
jle 0x14000aff0
test rax, rax
mov edi, 4
jle 0x14000b051
cmp rax, 0x7fff
jg 0x14000b110
lea rdi, [rax + rax]
add rax, 9
js 0x14000b0a7
cmp rbx, rdi
cmovge rdi, rbx
mov rcx, rdi
add rcx, 1
jo 0x14000b098
add rcx, 8
jo 0x14000b098
test rcx, rcx
js 0x14000b008
mov r8, rcx
mov rcx, qword [rsi + 8]
mov rdx, rax
call sym.realloc0Impl__system_u1751
mov qword [rsi + 8], rax
mov qword [rax], rdi
mov rdi, qword [rsi + 8]
jmp 0x14000aff0
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
jmp 0x14000b014
test rbp, rbp
js 0x14000b0f8
mov rax, qword [rsi + 8]
mov r8, rbp
xor edx, edx
lea rcx, [rax + 8]
call sym.memset
mov rdi, qword [rsi + 8]
jmp 0x14000aff0
mov rax, qword [rsi + 8]
mov byte [rax + rbx + 8], 0
mov rdi, qword [rsi + 8]
jmp 0x14000aff0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbp
jmp 0x14000b014
imul rdx, rax, 3
jo 0x14000b128
mov rdi, rdx
shr rdi, 0x3f
add rdi, rdx
sar rdi, 1
jmp 0x14000b051
mov qword [rsp + 0x28], rax
call sym.raiseOverflow
mov rax, qword [rsp + 0x28]
jmp 0x14000b051

Function at 0x14000c6a0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [rcx]
test rbx, rbx
mov qword [rcx], rdx
je 0x14000c700
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
cmp rax, 0xf
jbe 0x14000c6e0
sub rax, 0x10
jo 0x14000c706
mov r8, qword [rbx]
xor ecx, ecx
mov qword [rbx - 0x10], rax
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rbx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
Function at 0x14000c710
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, qword [rcx]
test rdx, rdx
je 0x14000c72b
mov rax, qword [rdx - 0x10]
add rax, 0x10
jo 0x14000c786
mov qword [rdx - 0x10], rax
test rbx, rbx
mov qword [rcx], rdx
je 0x14000c780
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
cmp rax, 0xf
jbe 0x14000c760
sub rax, 0x10
jo 0x14000c7a1
mov r8, qword [rbx]
xor ecx, ecx
mov qword [rbx - 0x10], rax
add rsp, 0x30
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rbx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
jmp 0x14000c72b
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x14000d990
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
test rax, rax
mov rbx, rcx
je 0x14000d9f0
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x14000d9d0
sub rdx, 0x10
jo 0x14000d9f6
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 8]
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow

Function at 0x14000dba0
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rsi
mov r8, rdi
mov edx, 1
mov rbx, rax
mov r9, rax
call sym.fwrite
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.fflush
Function at 0x14000dbe0
Capabilities:
Terminate process
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [0x140034110]
test rax, rax
mov rbx, rcx
je 0x14000dc90
test rcx, rcx
je 0x14000dc50
call sym.strlen
lea rsi, [rsp + 0x30]
mov rdx, rbx
mov r8, rax
mov rcx, rsi
call sym.toNimStr
mov rbx, qword [rsp + 0x38]
mov rcx, rsi
call qword [0x140034110]
test rbx, rbx
je 0x14000dc2f
test byte [rbx + 7], 0x40
je 0x14000dc70
lea rcx, [0x14002a360]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x14000dcd0
add rsp, 0x48
pop rbx
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], 0
call rax
jmp 0x14000dc2f
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rbx
mov rcx, rax
call sym.rawDealloc__system_u7009
jmp 0x14000dc2f
mov qword [rsp + 0x28], rdx
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x28]
mov rcx, rbx
mov edx, 1
mov rsi, rax
mov r9, rax
call sym.fwrite
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
jmp sym.fflush
mov byte [rax], 0
lea rcx, [0x14002a2a0]
call dbg.__emutls_get_address
mov rbx, qword [rax]
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x14000dcf9
mov rdx, qword [rsi - 0x10]
add rdx, 0x10
jo 0x14000dd43
mov qword [rsi - 0x10], rdx
mov qword [rax], rsi
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
cmp rax, 0xf
jbe 0x14000dd28
sub rax, 0x10
jo 0x14000dd54
mov r8, qword [rbx]
xor ecx, ecx
mov qword [rbx - 0x10], rax
add rsp, 0x48
pop rbx
pop rsi
jmp sym.rememberCycle__system_u3465
mov r8, qword [rbx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x48
pop rbx
pop rsi
jmp sym.nimDestroyAndDispose
mov qword [rsp + 0x28], rax
call sym.raiseOverflow
mov rax, qword [rsp + 0x28]
jmp 0x14000dcf9
add rsp, 0x48
pop rbx
pop rsi
jmp sym.raiseOverflow

Function at 0x14000dd60
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
lea rbx, str.SIGINT:_Interrupted_by_Ctrl_C._n
cmp ecx, 2
je 0x14000ddb0
lea rbx, str.SIGSEGV:_Illegal_storage_access.__Attempt_to_read_from_nil___n
cmp ecx, 0xb
je 0x14000ddb0
lea rbx, str.SIGABRT:_Abnormal_termination._n
cmp ecx, 0x16
je 0x14000ddb0
lea rbx, str.SIGFPE:_Arithmetic_error._n
cmp ecx, 8
je 0x14000ddb0
lea rbx, str.SIGILL:_Illegal_operation._n
cmp ecx, 4
lea rax, str.unknown_signal_n
cmovne rbx, rax
nop word [rax + rax]
mov rcx, rbx
call sym.strlen
mov rcx, rbx
mov rdx, rax
call sym.showErrorMessage__system_u4047
mov ecx, 1
call sym.exit
nop
nop
Function at 0x14000de30
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [rdx + 8]
mov rdi, qword [rcx + 8]
mov rbp, qword [rdx]
mov rbx, rcx
cmp rdi, rsi
je 0x14000df58
test rsi, rsi
je 0x14000df20
test byte [rsi + 7], 0x40
jne 0x14000df20
test rdi, rdi
je 0x14000dea0
movabs rdx, 0x4000000000000000
mov rax, qword [rdi]
test rax, rdx
jne 0x14000dea0
btr rax, 0x3e
cmp rax, rbp
jge 0x14000dfa0
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u7009
mov rdi, rbp
add rdi, 1
jo 0x14000df6c
mov r12, rdi
add r12, 8
jo 0x14000df6c
movabs r8, 0x7fffffffffffffff
xor edx, edx
test r12, r12
mov rcx, r12
js 0x14000df8f
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, r12
mov rcx, rax
call sym.rawAlloc__system_u6833
mov qword [rbx + 8], rax
mov qword [rax], rbp
test rdi, rdi
mov qword [rbx], rbp
js 0x14000df80
mov rcx, qword [rbx + 8]
lea rdx, [rsi + 8]
mov r8, rdi
add rcx, 8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.memcpy
test rdi, rdi
je 0x14000df42
test byte [rdi + 7], 0x40
jne 0x14000df42
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u7009
mov qword [rbx], rbp
mov qword [rbx + 8], rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp qword [rcx], rbp
jne 0x14000de51
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseRangeErrorI
lea rdi, [rbp + 1]
jmp 0x14000def0

Function at 0x14000e1a0
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
mov rdi, qword [rcx + 8]
add rax, 1
mov rsi, rcx
jo 0x14000e21e
add rax, 8
mov rbx, rax
jo 0x14000e21e
movabs r8, 0x7fffffffffffffff
xor edx, edx
test rax, rax
mov rcx, rax
js 0x14000e23c
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rbx
mov rcx, rax
call sym.rawAlloc__system_u6833
mov rcx, qword [rsi]
mov qword [rsi + 8], rax
mov qword [rax], rcx
add rcx, 1
jo 0x14000e21e
test rcx, rcx
js 0x14000e230
mov rax, qword [rsi + 8]
lea rdx, [rdi + 8]
mov r8, rcx
add rax, 8
mov rcx, rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.memcpy
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseRangeErrorI
Function at 0x14000e480
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [rdx + 8]
mov rdi, qword [rcx + 8]
mov rbp, qword [rdx]
mov rbx, rcx
cmp rdi, rsi
je 0x14000e5a8
test rsi, rsi
je 0x14000e570
test byte [rsi + 7], 0x40
jne 0x14000e570
test rdi, rdi
je 0x14000e4f0
movabs rdx, 0x4000000000000000
mov rax, qword [rdi]
test rax, rdx
jne 0x14000e4f0
btr rax, 0x3e
cmp rax, rbp
jge 0x14000e5f0
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u7009
mov rdi, rbp
add rdi, 1
jo 0x14000e5bc
mov r12, rdi
add r12, 8
jo 0x14000e5bc
movabs r8, 0x7fffffffffffffff
xor edx, edx
test r12, r12
mov rcx, r12
js 0x14000e5df
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, r12
mov rcx, rax
call sym.rawAlloc__system_u6833
mov qword [rbx + 8], rax
mov qword [rax], rbp
test rdi, rdi
mov qword [rbx], rbp
js 0x14000e5d0
mov rcx, qword [rbx + 8]
lea rdx, [rsi + 8]
mov r8, rdi
add rcx, 8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.memcpy
test rdi, rdi
je 0x14000e592
test byte [rdi + 7], 0x40
jne 0x14000e592
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u7009
mov qword [rbx], rbp
mov qword [rbx + 8], rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp qword [rcx], rbp
jne 0x14000e4a1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseRangeErrorI
lea rdi, [rbp + 1]
jmp 0x14000e540

Function at 0x14000ed90
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
test rcx, rcx
mov rbx, rcx
je 0x14000ede8
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x14000edc8
sub rax, 0x10
jo 0x14000edee
mov r8, qword [rcx]
mov qword [rcx - 0x10], rax
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rcx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
Function at 0x14000f8e0
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x14002a380]
xor ebx, ebx
mov rbp, qword [rcx]
mov rdi, qword [rcx + 8]
test rbp, rbp
jg 0x14000f911
jmp 0x14000f958
add rbx, 1
cmp rbp, rbx
je 0x14000f944
mov rax, rbx
shl rax, 4
mov rsi, qword [rdi + rax + 0x10]
test rsi, rsi
je 0x14000f908
test byte [rsi + 7], 0x40
jne 0x14000f908
mov rcx, r12
add rbx, 1
call dbg.__emutls_get_address
mov rdx, rsi
mov rcx, rax
call sym.rawDealloc__system_u7009
cmp rbp, rbx
jne 0x14000f911
test byte [rdi + 7], 0x40
je 0x14000f970
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test rdi, rdi
jne 0x14000f944
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x14002a380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.rawDealloc__system_u7009

Function at 0x140010680
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
lea rcx, [0x14002a360]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x1400106aa
lea rcx, [0x14002a2a0]
call dbg.__emutls_get_address
mov rbx, qword [rax]
test rbx, rbx
jne 0x1400106b0
add rsp, 0x30
pop rbx
ret
mov rdx, qword [0x140034118]
test rdx, rdx
je 0x1400106cb
mov qword [rsp + 0x28], rax
mov rcx, rbx
call rdx
mov rax, qword [rsp + 0x28]
mov rcx, rbx
mov qword [rsp + 0x28], rax
call sym.reportUnhandledErrorAux__system_u4268
mov rcx, qword [rsp + 0x28]
xor edx, edx
call sym.eqsink___stdZtypedthreads_u195
mov ecx, 1
call sym.exit
nop
nop

Function at 0x1400106f0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
lea rbx, [sym.signalHandler]
mov ecx, 2
mov rdx, rbx
call sym.signal
mov rdx, rbx
mov ecx, 0xb
call sym.signal
mov rdx, rbx
mov ecx, 0x16
call sym.signal
mov rdx, rbx
mov ecx, 8
call sym.signal
mov rdx, rbx
mov ecx, 4
call sym.signal
lea rcx, [0x1400340e0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [sym.colonanonymous___system_u8925]
call sym.atexit
lea rcx, [0x14002a360]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x14001077b
lea rcx, [0x14002a2a0]
call dbg.__emutls_get_address
mov rbx, qword [rax]
test rbx, rbx
jne 0x140010781
add rsp, 0x30
pop rbx
ret
mov rdx, qword [0x140034118]
test rdx, rdx
je 0x14001079c
mov qword [rsp + 0x28], rax
mov rcx, rbx
call rdx
mov rax, qword [rsp + 0x28]
mov rcx, rbx
mov qword [rsp + 0x28], rax
call sym.reportUnhandledErrorAux__system_u4268
mov rcx, qword [rsp + 0x28]
xor edx, edx
call sym.eqsink___stdZtypedthreads_u195
mov ecx, 1
call sym.exit
nop

Function at 0x140013da0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140013db7
test byte [rcx + 7], 0x40
je 0x140013de0
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140013dc6
test byte [rcx + 7], 0x40
je 0x140013dd0
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.deallocShared
jmp 0x140013db7
Function at 0x140014a90
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x38
movdqa xmm0, xmmword [0x14002d020]
xor edx, edx
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.loadLib__pureZdynlib_u3
mov rcx, qword [0x14002f050]
mov rbx, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x140014aed
test rbx, rbx
mov qword [0x140034190], rbx
je 0x140014aed
lea rdx, str.inet_ntop
mov rcx, rbx
call sym.symAddr__pureZdynlib_u74
cmp byte [rsi], 0
jne 0x140014aed
mov qword [0x140034198], rax
add rsp, 0x38
pop rbx
pop rsi
jmp sym.nimTestErrorFlag

Function at 0x140014fb0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
test rcx, rcx
mov rbx, rcx
je 0x140015008
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x140014fe8
sub rax, 0x10
jo 0x14001500e
mov r8, qword [rcx]
mov qword [rcx - 0x10], rax
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rcx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow

Function at 0x140015020
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x40
movdqu xmm0, xmmword [rdx]
lea rdx, [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
call sym.newOSError__stdZoserrors_u56
mov rcx, qword [0x14002f050]
mov rbx, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140015080
mov qword [rsp + 0x20], 0x5c
lea r9, str.oserrors.nim
mov rcx, rbx
lea r8, str.raiseOSError
lea rdx, str.OSError
call sym.raiseExceptionEx
nop
add rsp, 0x40
pop rbx
ret
test rbx, rbx
je 0x140015073
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
cmp rax, 0xf
jbe 0x1400150b0
sub rax, 0x10
jo 0x1400150ca
mov r8, qword [rbx]
xor ecx, ecx
mov qword [rbx - 0x10], rax
add rsp, 0x40
pop rbx
jmp sym.rememberCycle__system_u3465
mov r8, qword [rbx]
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, rbx
add rsp, 0x40
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x40
pop rbx
jmp sym.raiseOverflow
Function at 0x140015240
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
test rax, rax
mov rbx, rcx
je 0x14001527e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400152e8
sub rdx, 0x10
jo 0x140015321
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3465
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400152ac
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400152c8
sub rdx, 0x10
jo 0x14001531a
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400152bb
test byte [rcx + 7], 0x40
je 0x140015310
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x1400152ac
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x14001527e
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x1400152ac
call sym.raiseOverflow
jmp 0x14001527e
Function at 0x140015860
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
test rax, rax
mov rbx, rcx
je 0x14001589e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140015908
sub rdx, 0x10
jo 0x140015941
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3465
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400158cc
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400158e8
sub rdx, 0x10
jo 0x14001593a
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400158db
test byte [rcx + 7], 0x40
je 0x140015930
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x1400158cc
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x14001589e
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x1400158cc
call sym.raiseOverflow
jmp 0x14001589e

Function at 0x140015950
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
test rax, rax
mov rbx, rcx
je 0x1400159c0
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140015990
sub rdx, 0x10
jo 0x1400159c6
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5470
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
lea r8, sym.rttiDestroy__pureZtimes_u5470
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1560
mov rcx, qword [rbx + 0x58]
mov edx, 8
add rsp, 0x20
pop rbx
jmp sym.nimRawDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow

Function at 0x1400159d0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
test rax, rax
mov rbx, rcx
je 0x140015a40
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140015a10
sub rdx, 0x10
jo 0x140015a46
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5470
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3465
lea r8, sym.rttiDestroy__pureZtimes_u5470
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3465
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1560
mov rcx, qword [rbx + 0x58]
mov edx, 8
add rsp, 0x20
pop rbx
jmp sym.nimRawDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
Function at 0x1400167c0
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
lea r15, sym.rttiDestroy__pureZtimes_u5468
xor eax, eax
xor r9d, r9d
mov r13, rdx
mov rbp, rcx
mov ecx, 0xc
lea rdx, [r8 + 8]
mov rsi, r8
lea r14, [rsp + 0x60]
mov rdi, rdx
xor edx, edx
rep stosq qword [rdi], rax
mov qword [r8], r15
mov rcx, r14
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x20], rax
call sym.initDuration__pureZtimes_u501
mov rcx, qword [0x14002f050]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rbx, rax
jne 0x1400169d9
mov rdx, qword [rbp]
mov r8, qword [rbp + 8]
sub rdx, rdi
jo 0x140016a05
sub r8, r12
jo 0x140016a05
mov rcx, r14
call sym.normalize__pureZtimes_u1325
mov rdi, qword [rsp + 0x60]
cmp byte [rbx], 0
jne 0x1400169d9
mov edx, 0x15180
mov rcx, rdi
call sym.floorDiv__pureZtimes_u317
cmp byte [rbx], 0
mov r8, rax
jne 0x1400169d9
imul rax, rax, 0x15180
jo 0x1400169ed
sub rdi, rax
jo 0x1400169ed
movabs rax, 0x48d159e26af37c05
imul rdi
mov rax, rdi
sar rax, 0x3f
sar rdx, 0xa
sub rdx, rax
imul rax, rdx, 0xe10
mov r14, rdx
sub rdi, rax
mov rcx, rdi
jo 0x1400169ed
movabs rax, 0x8888888888888889
imul rdi
mov rax, rcx
sar rax, 0x3f
lea rdi, [rdx + rdi]
sar rdi, 5
sub rdi, rax
imul rax, rdi, 0x3c
sub rcx, rax
mov r12, rcx
jo 0x1400169ed
lea rcx, [rsp + 0x70]
mov rdx, r8
call sym.fromEpochDay__pureZtimes_u203
cmp byte [rbx], 0
jne 0x1400169d9
movzx eax, byte [rsp + 0x78]
cmp r14, 0x17
mov qword [rsi], r15
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
movq xmm1, rax
mov rdx, rax
movq xmm0, rcx
punpcklqdq xmm0, xmm1
mov qword [rsi + 0x38], r8
movups xmmword [rsi + 0x28], xmm0
ja 0x140016a18
cmp rdi, 0x3b
mov qword [rsi + 0x20], r14
ja 0x140016a50
cmp r12, 0x3c
mov qword [rsi + 0x18], rdi
ja 0x140016a40
mov qword [rsi + 0x10], r12
mov rax, qword [rbp + 8]
movzx edi, dl
mov edx, edi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], rcx
mov qword [rsi + 8], rax
call sym.getDayOfWeek__pureZtimes_u311
cmp byte [rbx], 0
jne 0x1400169d9
mov r8, qword [rsp + 0x58]
mov byte [rsi + 0x40], al
mov edx, edi
mov rcx, qword [rsp + 0x50]
call sym.getDayOfYear__pureZtimes_u266
cmp byte [rbx], 0
jne 0x1400169d9
mov qword [rsi + 0x48], rax
movzx eax, byte [rbp + 0x18]
mov qword [rsi + 0x58], r13
mov byte [rsi + 0x50], al
mov rax, qword [rbp + 0x10]
mov qword [rsi + 0x60], rax
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow
call sym.raiseOverflow
xor edi, edi
jmp 0x140016882
mov r8d, 0x17
xor edx, edx
mov rcx, r14
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseRangeErrorI
mov r8d, 0x3c
xor edx, edx
mov rcx, r12
jmp 0x140016a23
mov r8d, 0x3b
xor edx, edx
mov rcx, rdi
jmp 0x140016a23