joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140005d50
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
lea rax, [0x14002f380]
mov qword [rsp + 0x38], rax
lea r12, [rsp + 0x30]
mov rdi, rcx
mov rsi, rdx
lea rcx, [rsp + 0x20]
mov edx, 0xfa0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
call sym.mnewString
mov rax, qword [rsp + 0x20]
mov rbp, qword [0x140032120]
mov rbx, rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x28]
test rbx, rbx
mov qword [rsp + 0x48], rax
jle 0x140005f30
nop word [rax + rax]
mov rax, qword [rsp + 0x48]
mov r9, rsi
mov r8d, 0xfa0
mov edx, 1
lea rcx, [rax + 8]
call sym.fread
cmp rax, 0xfa0
mov rbx, rax
je 0x140005ec0
mov rcx, rsi
call sym.ferror
test eax, eax
je 0x140005e07
mov rcx, rsi
call sym.checkErr__stdZsyncio_u162.part.0
mov rcx, rbp
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140005f78
test rbx, rbx
js 0x140005f98
lea rcx, [rsp + 0x40]
mov rdx, rbx
call sym.setLengthStrV2
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x30]
call sym.prepareAdd
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
test rbx, rbx
jle 0x140005e98
mov r8, rbx
add r8, 1
jo 0x140005f6d
test r8, r8
js 0x140005fb6
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
lea rax, [rdx + rax + 8]
lea rdx, [rcx + 8]
mov rcx, rax
call sym.memcpy
add rbx, qword [rsp + 0x30]
jo 0x140005f6d
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test rcx, rcx
je 0x140005ea7
test byte [rcx + 7], 0x40
je 0x140005f88
movdqa xmm0, xmmword [rsp + 0x30]
mov rax, rdi
movups xmmword [rdi], xmm0
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, rbp
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140005f78
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call sym.prepareAdd
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
test rbx, rbx
jle 0x140005f30
mov r8, rbx
add r8, 1
jo 0x140005f45
test r8, r8
js 0x140005f50
mov rax, qword [rsp + 0x30]
add rdx, 8
mov rcx, qword [rsp + 0x38]
lea rcx, [rcx + rax + 8]
call sym.memcpy
add rbx, qword [rsp + 0x30]
jo 0x140005f45
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsp + 0x40]
test rbx, rbx
jg 0x140005dc8
nop dword [rax]
lea rdx, [rbx - 1]
xor ecx, ecx
call sym.raiseIndexError2
mov rcx, qword [rsp + 0x48]
jmp 0x140005e98
call sym.raiseOverflow
jmp 0x140005f1f
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
jmp 0x140005f1f
call sym.raiseOverflow
nop word [rax + rax]
mov rcx, qword [rsp + 0x48]
jmp 0x140005e98
call sym.deallocShared
jmp 0x140005ea7
movabs r8, 0x7fffffffffffffff
mov rcx, rbx
xor edx, edx
call sym.raiseRangeErrorI
mov rcx, qword [rsp + 0x48]
jmp 0x140005e98
movabs rcx, 0x8000000000000000
xor edx, edx
movabs r8, 0x7fffffffffffffff
call sym.raiseRangeErrorI
mov rcx, qword [rsp + 0x48]
jmp 0x140005e98
Function at 0x140005fe0
Capabilities:
Read file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
test r8, r8
mov rdi, rcx
mov rsi, rdx
mov rbx, r8
js 0x1400060d0
lea r14, [rsp + 0x20]
mov rdx, r8
mov rcx, r14
call sym.mnewString
mov rax, qword [rsp + 0x20]
mov rdx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x28]
test rdx, rdx
mov qword [rsp + 0x38], rax
jle 0x140006120
mov rax, qword [rsp + 0x38]
mov r9, rsi
mov r8, rbx
mov edx, 1
lea rcx, [rax + 8]
call sym.fread
cmp rbx, rax
mov rbp, rax
je 0x140006061
mov rcx, rsi
call sym.ferror
test eax, eax
jne 0x1400060f0
mov rcx, qword [0x140032120]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov r12, rax
jne 0x1400060b1
mov rcx, rsi
call sym.fgetc
mov rdx, rsi
mov ecx, eax
mov r13d, eax
call sym.ungetc
cmp byte [r12], 0
jne 0x1400060b1
test r13d, r13d
jns 0x140006130
cmp rbx, rbp
jle 0x1400060b1
test rbp, rbp
js 0x140006100
lea rcx, [rsp + 0x30]
mov rdx, rbp
call sym.setLengthStrV2
movdqa xmm0, xmmword [rsp + 0x30]
mov rax, rdi
movups xmmword [rdi], xmm0
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call sym.raiseRangeErrorI
jmp 0x1400060b1
mov rcx, rsi
call sym.checkErr__stdZsyncio_u162.part.0
jmp 0x140006061
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbp
call sym.raiseRangeErrorI
jmp 0x1400060b1
sub rdx, 1
xor ecx, ecx
call sym.raiseIndexError2
jmp 0x1400060b1
mov rdx, rsi
mov rcx, r14
call sym.readAllBuffer__stdZsyncio_u516
cmp byte [r12], 0
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
jne 0x140006190
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sym.prepareAdd
test rbx, rbx
jle 0x140006190
mov r8, rbx
add r8, 1
jo 0x1400061b0
test r8, r8
js 0x1400061c0
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
lea rcx, [rdx + rax + 8]
lea rdx, [rsi + 8]
call sym.memcpy
add rbx, qword [rsp + 0x30]
jo 0x1400061b0
mov qword [rsp + 0x30], rbx
test rsi, rsi
je 0x1400060b1
test byte [rsi + 7], 0x40
jne 0x1400060b1
mov rcx, rsi
call sym.deallocShared
jmp 0x1400060b1
call sym.raiseOverflow
jmp 0x140006190
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
jmp 0x140006190
Function at 0x140006470
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor ecx, ecx
call rdi
mov rsi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fileno]
mov rcx, rax
call rsi
mov edx, 0x8000
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__setmode]
mov ecx, eax
call rbx
mov ecx, 1
call rdi
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 2
call rdi
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
call qword [0x1400370c0]
mov dword [0x1400370c8], eax
call qword [0x1400370b0]
cmp dword [0x1400370c8], 0xfde9
mov dword [0x1400370b8], eax
je 0x14000653b
mov ecx, 0xfde9
call qword [0x1400370a8]
lea rax, [sym.restoreConsoleOutputCP__stdZsyncio_u675]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [rsp + 0x30]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.addExitProc__stdZexitprocs_u203
mov rcx, qword [0x140032120]
call dbg.__emutls_get_address
mov rdx, rax
mov eax, dword [0x1400370b8]
cmp byte [rdx], 0
jne 0x140006578
cmp eax, 0xfde9
je 0x140006578
mov ecx, 0xfde9
call qword [0x1400370a0]
lea rax, [sym.restoreConsoleCP__stdZsyncio_u676]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
movdqa xmm1, xmmword [rsp + 0x30]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm1
call sym.addExitProc__stdZexitprocs_u203
nop
add rsp, 0x40
pop rbx
pop rsi
pop rdi
jmp sym.nimTestErrorFlag

Function at 0x1400066c0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
xor r8d, r8d
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
je 0x1400066df
mov rcx, rdx
call sym.strlen
mov r8, rax
mov rcx, rbx
mov r9, rsi
mov edx, 1
call sym.fwrite
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.fflush

Function at 0x1400067c0
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
mov ecx, 2
call rsi
lea rdx, str.could_not_load:
mov rcx, rax
call sym.rawWrite
lea rax, [0x14002f458]
mov ecx, 2
add rbx, 8
test rdi, rdi
cmove rbx, rax
call rsi
mov rcx, rax
mov rdx, rbx
call sym.rawWrite
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc1
je 0x14000683c
mov ecx, 2
call rsi
lea rdx, [0x14002f4a1]
mov rcx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
mov ecx, 2
call rsi
lea rdx, str._n_bad_format__library_may_be_wrong_architecture_
mov rcx, rax
call sym.rawWrite
jmp 0x14000681c

Function at 0x140006860
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rcx
mov ecx, 2
call rbx
lea rdx, str.could_not_import:
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rbx
mov rdx, rsi
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rbx
lea rdx, [0x14002f4a1]
mov rcx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop
nop dword [rax]
Function at 0x14000e360
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 0x14000e479
test rsi, rsi
je 0x14000e450
test byte [rsi + 7], 0x40
jne 0x14000e450
test rdi, rdi
je 0x14000e3d0
movabs rdx, 0x4000000000000000
mov rax, qword [rdi]
test rax, rdx
jne 0x14000e3d0
btr rax, 0x3e
cmp rax, rbp
jge 0x14000e488
lea rcx, [0x14002e380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u6959
mov rdi, rbp
add rdi, 1
jo 0x14000e4ae
mov r12, rdi
add r12, 8
jo 0x14000e4ae
movabs r8, 0x7fffffffffffffff
xor edx, edx
test r12, r12
mov rcx, r12
js 0x14000e49f
lea rcx, [0x14002e380]
call dbg.__emutls_get_address
mov rdx, r12
mov rcx, rax
call sym.rawAlloc__system_u6807
mov qword [rbx + 8], rax
mov qword [rax], rbp
test rdi, rdi
mov qword [rbx], rbp
js 0x14000e490
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 0x14000e472
test byte [rdi + 7], 0x40
jne 0x14000e472
lea rcx, [0x14002e380]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u6959
mov qword [rbx], rbp
mov qword [rbx + 8], rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rdi, [rbp + 1]
jmp 0x14000e420
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
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseOverflow

Function at 0x14000ec60
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
test rcx, rcx
mov rbx, rcx
je 0x14000ecb8
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x14000ec98
sub rax, 0x10
jo 0x14000ecbe
mov r8, qword [rcx]
mov qword [rcx - 0x10], rax
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3453
mov r8, qword [rcx]
mov ecx, 1
call sym.rememberCycle__system_u3453
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 0x14000f0a0
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
lea r13, [0x1400370e0]
mov rsi, rdx
mov rbx, rcx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test rsi, rsi
jle 0x14000f12f
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r12, [rsp + 0x20]
xor r14d, r14d
lea rbp, [0x14002e360]
jmp 0x14000f0f5
add r14, 1
add rbx, 0x10
cmp rsi, r14
je 0x14000f136
mov ecx, 1
call rdi
movdqu xmm0, xmmword [rbx]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
movaps xmmword [rsp + 0x20], xmm0
call sym.writeWindows__system_u8944
mov rcx, rbp
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x14000f0e8
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 1
call rdi
mov r8d, 1
mov edx, 1
lea rcx, [0x14002f4a1]
mov r9, rax
call sym.fwrite
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, r13
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x14000fbb0
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x14002e380]
xor ebx, ebx
mov rbp, qword [rcx]
mov rdi, qword [rcx + 8]
test rbp, rbp
jg 0x14000fbe1
jmp 0x14000fc28
add rbx, 1
cmp rbp, rbx
je 0x14000fc14
mov rax, rbx
shl rax, 4
mov rsi, qword [rdi + rax + 0x10]
test rsi, rsi
je 0x14000fbd8
test byte [rsi + 7], 0x40
jne 0x14000fbd8
mov rcx, r12
add rbx, 1
call dbg.__emutls_get_address
mov rdx, rsi
mov rcx, rax
call sym.rawDealloc__system_u6959
cmp rbp, rbx
jne 0x14000fbe1
test byte [rdi + 7], 0x40
je 0x14000fc40
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test rdi, rdi
jne 0x14000fc14
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x14002e380]
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_u6959

Function at 0x140010ac0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
lea rcx, [0x14002e360]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x140010aea
lea rcx, [0x14002e2a0]
call dbg.__emutls_get_address
mov rbx, qword [rax]
test rbx, rbx
jne 0x140010af0
add rsp, 0x30
pop rbx
ret
mov rdx, qword [0x140037118]
test rdx, rdx
je 0x140010b0b
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_u4214
mov rcx, qword [rsp + 0x28]
xor edx, edx
call sym.eqsink___stdZtypedthreads_u177
mov ecx, 1
call sym.exit
nop
nop

Function at 0x140010b30
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, [0x1400370e0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [sym.colonanonymous___system_u8863]
call sym.atexit
lea rcx, [0x14002e360]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x140010bbb
lea rcx, [0x14002e2a0]
call dbg.__emutls_get_address
mov rbx, qword [rax]
test rbx, rbx
jne 0x140010bc1
add rsp, 0x30
pop rbx
ret
mov rdx, qword [0x140037118]
test rdx, rdx
je 0x140010bdc
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_u4214
mov rcx, qword [rsp + 0x28]
xor edx, edx
call sym.eqsink___stdZtypedthreads_u177
mov ecx, 1
call sym.exit
nop
Function at 0x140010c00
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [rdx]
mov rdx, qword [rdx + 8]
test rbx, rbx
mov rsi, rcx
jle 0x140010c40
mov r8, rbx
add r8, 1
jo 0x140010c47
test r8, r8
js 0x140010c58
mov rax, qword [rcx]
add rdx, 8
mov rcx, qword [rcx + 8]
lea rcx, [rcx + rax + 8]
call sym.memcpy
add rbx, qword [rsi]
jo 0x140010c47
mov qword [rsi], rbx
add rsp, 0x28
pop rbx
pop rsi
ret
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseRangeErrorI

Function at 0x140010c80
Capabilities:
Terminate process

Disassembly:
mov rax, qword [rcx + 8]
test rax, rax
je 0x140010c98
test byte [rax + 7], 0x40
je 0x140010c98
jmp sym.nimPrepareStrMutationImpl__system_u2414
ret

Function at 0x1400154c0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400154d7
test byte [rcx + 7], 0x40
je 0x140015500
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400154e6
test byte [rcx + 7], 0x40
je 0x1400154f0
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.deallocShared
jmp 0x1400154d7

Function at 0x1400161b0
Capabilities:
Terminate process

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

Function at 0x140016880
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
test rax, rax
mov rbx, rcx
je 0x1400168be
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140016928
sub rdx, 0x10
jo 0x140016961
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3453
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400168ec
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140016908
sub rdx, 0x10
jo 0x14001695a
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400168fb
test byte [rcx + 7], 0x40
je 0x140016950
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x1400168ec
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x1400168be
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x1400168ec
call sym.raiseOverflow
jmp 0x1400168be
Function at 0x140016ea0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
test rax, rax
mov rbx, rcx
je 0x140016ede
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140016f48
sub rdx, 0x10
jo 0x140016f81
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3453
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x140016f0c
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140016f28
sub rdx, 0x10
jo 0x140016f7a
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140016f1b
test byte [rcx + 7], 0x40
je 0x140016f70
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x140016f0c
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x140016ede
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x140016f0c
call sym.raiseOverflow
jmp 0x140016ede

Function at 0x140016f90
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
test rax, rax
mov rbx, rcx
je 0x140017018
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140016fd0
sub rdx, 0x10
jo 0x14001701e
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5371
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3453
lea r8, sym.rttiDestroy__pureZtimes_u5371
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1439
mov rcx, qword [0x140032120]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140017018
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 0x140017030
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
test rax, rax
mov rbx, rcx
je 0x1400170b8
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140017070
sub rdx, 0x10
jo 0x1400170be
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5371
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3453
lea r8, sym.rttiDestroy__pureZtimes_u5371
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3453
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1439
mov rcx, qword [0x140032120]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x1400170b8
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 0x140017e10
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_u5369
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x50], rdx
lea rdx, [r8 + 8]
mov r12, rcx
mov rbp, r8
lea r14, [rsp + 0x60]
mov rdi, rdx
mov ecx, 0xc
rep stosq qword [rdi], rax
mov qword [r8], r15
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov rcx, r14
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x20], rax
call sym.initDuration__pureZtimes_u501
mov rcx, qword [0x140032120]
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x140018030
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
sub rdx, rdi
jo 0x14001805c
sub r8, r13
jo 0x14001805c
mov rcx, r14
call sym.normalize__pureZtimes_u1216
mov rbx, qword [rsp + 0x60]
cmp byte [rsi], 0
jne 0x140018030
mov rcx, rbx
mov edx, 0x15180
call sym.floorDiv__pureZtimes_u317
cmp byte [rsi], 0
mov rcx, rax
jne 0x140018030
imul rax, rax, 0x15180
jo 0x140018044
sub rbx, rax
jo 0x140018044
movabs rax, 0x48d159e26af37c05
imul rbx
mov rax, rbx
sar rax, 0x3f
sar rdx, 0xa
mov rdi, rdx
sub rdi, rax
imul rax, rdi, 0xe10
sub rbx, rax
jo 0x140018044
movabs rax, 0x8888888888888889
imul rbx
mov rax, rbx
sar rax, 0x3f
lea r13, [rdx + rbx]
sar r13, 5
sub r13, rax
imul rax, r13, 0x3c
sub rbx, rax
jo 0x140018044
lea rax, [rsp + 0x70]
mov rdx, rcx
mov rcx, rax
call sym.fromEpochDay__pureZtimes_u203
cmp byte [rsi], 0
jne 0x140018030
movzx eax, byte [rsp + 0x78]
cmp rdi, 0x17
mov qword [rbp], r15
mov r14, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
movq xmm1, rax
mov rdx, rax
movq xmm0, r14
punpcklqdq xmm0, xmm1
mov qword [rbp + 0x38], r8
movups xmmword [rbp + 0x28], xmm0
ja 0x140018070
cmp r13, 0x3b
mov qword [rbp + 0x20], rdi
ja 0x1400180a8
cmp rbx, 0x3c
mov qword [rbp + 0x18], r13
ja 0x140018098
mov qword [rbp + 0x10], rbx
mov rax, qword [r12 + 8]
movzx ebx, dl
mov rcx, r14
mov edx, ebx
mov qword [rsp + 0x58], r8
mov qword [rbp + 8], rax
call sym.getDayOfWeek__pureZtimes_u311
cmp byte [rsi], 0
jne 0x140018030
mov r8, qword [rsp + 0x58]
mov byte [rbp + 0x40], al
mov edx, ebx
mov rcx, r14
call sym.getDayOfYear__pureZtimes_u266
cmp byte [rsi], 0
jne 0x140018030
mov qword [rbp + 0x48], rax
movzx eax, byte [r12 + 0x18]
mov byte [rbp + 0x50], al
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x58], rax
mov rax, qword [r12 + 0x10]
mov qword [rbp + 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
jmp 0x140017ed6
mov r8d, 0x17
xor edx, edx
mov rcx, rdi
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, rbx
jmp 0x14001807b
mov r8d, 0x3b
xor edx, edx
mov rcx, r13
jmp 0x14001807b