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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
lea rdx, [0x1401efefc]
movaps xmm6, xmm2
call qword [sym.imp.msvcrt.dll_fopen]
mov rbx, rax
test rax, rax
je 0x140019b94
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call qword [sym.imp.msvcrt.dll_fseek]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
movsxd rsi, eax
call qword [sym.imp.msvcrt.dll_fseek]
lea rcx, [rsi + 1]
call qword [sym.imp.msvcrt.dll_malloc]
mov rdi, rax
test rax, rax
je 0x140019b7d
mov r9, rbx
mov r8, rsi
mov edx, 1
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fread]
cmp rax, rsi
jne 0x140019b7d
mov rcx, rbx
mov byte [rsi + rdi], 0
call qword [sym.imp.msvcrt.dll_fclose]
movaps xmm2, xmm6
mov rcx, rdi
call fcn.140019870
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.msvcrt.dll_free]
mov rax, rbx
jmp 0x140019b96
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
test rdi, rdi
je 0x140019b94
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret
Function at 0x140020e80
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x38]
lea rcx, [rbx + 0xc0]
sub rax, qword [rcx]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbx + 0xc8]
cvtsi2sd xmm1, rax
mulsd xmm1, qword [0x1401f8b48]
divsd xmm1, xmm0
addsd xmm1, qword [rbx + 0x30]
movsd qword [rbx + 0x30], xmm1
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
lea rcx, vtable.ui::AnimationPlayer.0
mov rdx, qword [rax + 0x38]
cmp rax, rcx
jne 0x14002104b
movd xmm1, dword [rbx + 0x28]
movsd xmm2, qword [rbx + 0x30]
cvtdq2pd xmm1, xmm1
comisd xmm2, xmm1
jb 0x140020f0a
mov edi, dword [rbx + 0x20]
jmp 0x140020fc8
movsd xmm3, qword [rbx + 0xf8]
xor edx, edx
comisd xmm3, xmm2
jb 0x140020f32
movaps xmm0, xmm2
mulsd xmm0, qword [rbx + 0x118]
mulsd xmm0, xmm2
cvttsd2si edx, xmm0
jmp 0x140020fb8
movsd xmm4, qword [rbx + 0x108]
movaps xmm0, xmm4
addsd xmm0, xmm3
comisd xmm0, xmm2
jb 0x140020f6c
subsd xmm2, xmm3
movaps xmm0, xmm3
mulsd xmm0, qword [rbx + 0x118]
mulsd xmm2, qword [rbx + 0x100]
mulsd xmm0, xmm3
addsd xmm2, xmm0
cvttsd2si edx, xmm2
jmp 0x140020fb8
comisd xmm1, xmm2
jb 0x140020fb8
subsd xmm2, xmm3
movaps xmm1, xmm3
mulsd xmm1, qword [rbx + 0x118]
subsd xmm2, xmm4
mulsd xmm4, qword [rbx + 0x100]
mulsd xmm1, xmm3
movaps xmm0, xmm2
mulsd xmm0, qword [rbx + 0x120]
addsd xmm1, xmm4
mulsd xmm0, xmm2
mulsd xmm2, qword [rbx + 0x128]
addsd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si edx, xmm1
mov ecx, dword [rbx + 0x1c]
mov eax, ecx
sub eax, edx
cmp dword [rbx + 0x20], ecx
lea edi, [rcx + rdx]
cmovle edi, eax
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x14002103d
mov eax, dword [rbx + 0x1c]
mov qword [rsp + 0x40], rsi
mov esi, dword [rbx + 0x20]
cmp esi, eax
jle 0x140020fe6
cmp edi, esi
jge 0x140020fec
cmp esi, eax
jge 0x140021016
cmp edi, esi
jg 0x140021016
mov dword [rsp + 0x30], esi
lea rdx, [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, rbx
call fcn.140021060
mov dword [rbx + 0x24], esi
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
cmp edi, dword [rbx + 0x24]
je 0x14002102a
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rsi, qword [rsp + 0x40]
mov dword [rbx + 0x24], edi
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov dword [rbx + 0x24], edi
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov rcx, rbx
call rdx
mov edi, eax
jmp 0x140020fc8
Function at 0x140025500
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x1402295b8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov ebp, r8d
mov rsi, rdx
mov r14, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x140025546
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140025555
call qword [sym.imp.msvcrt.dll_free]
xor r15d, r15d
mov qword [r14], r15
mov qword [r14 + 8], r15
lea rdx, [0x14022a010]
lea rcx, [rsp + 0x50]
call fcn.140003610
nop
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
lea r8, [r15 - 1]
test eax, eax
je 0x1400255f0
inc r8
cmp word [rsi + r8*2], 0
jne 0x140025582
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, rdx
sub rax, rcx
cmp r8, rax
ja 0x1400255d0
lea rdi, [rcx + r8]
mov qword [rsp + 0x60], rdi
lea rbx, [rsp + 0x50]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x50]
add r8, r8
lea rcx, [rbx + rcx*2]
mov rdx, rsi
call sub.msvcrt.dll_memmove
mov word [rbx + rdi*2], r15w
jmp 0x140025608
mov qword [rsp + 0x20], r8
mov r9, rsi
mov rdx, r8
lea rcx, [rsp + 0x50]
call fcn.140002820
jmp 0x140025608
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400255f0
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140003280
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140025652
lea rdx, str.Error_opening_file
jmp 0x1400256cc
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test eax, eax
jne 0x14002566c
lea rdx, str.File_is_empty
jmp 0x1400256cc
cmp ebx, 0x400000
jbe 0x14002567d
lea rdx, str.File_too_large
jmp 0x1400256cc
mov dword [rsp + 0x40], r15d
mov rcx, rbx
call fcn.1401c4d94
mov rsi, rax
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
mov r8d, ebx
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x40], ebx
je 0x1400256fa
mov rcx, rsi
call fcn.14017b7ac
mov rcx, r14
call fcn.140025200
lea rdx, str.Could_not_read_file
mov r8d, 0x63
lea rcx, [r14 + 0x18]
call qword [sym.imp.msvcrt.dll_wcsncpy]
mov r8d, 0x31
lea rdx, [0x1401ed8f0]
lea rcx, [r14 + 0xe0]
call qword [sym.imp.msvcrt.dll_wcsncpy]
xor bl, bl
jmp 0x140025717
mov r9d, ebp
mov r8d, ebx
mov rdx, rsi
mov rcx, r14
call fcn.140025310
movzx ebx, al
mov rcx, rsi
call fcn.14017b7ac
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x140025755
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140025750
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002577c
call fcn.14017b7ac
movzx eax, bl
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1401c4d70
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401b08a0
int3
Function at 0x14002a5f0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x90
mov rbx, rdx
mov rdi, rcx
call qword [sym.imp.USER32.dll_GetFocus]
cmp byte [rdi + 0x31], 0
jne 0x14002a631
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x14002a631
cmp rbx, qword [rdi + 0x130]
je 0x14002a631
test rbx, rbx
je 0x14002a631
call qword [sym.imp.USER32.dll_SetFocus]
mov rsi, qword [rdi + 0x130]
cmp rbx, rsi
je 0x14002a7ae
mov qword [rsp + 0xa8], rbp
xor ebp, ebp
movaps xmmword [rsp + 0x80], xmm6
xorps xmm6, xmm6
test rsi, rsi
je 0x14002a6ec
mov eax, ebp
mov qword [rsp + 0xa0], rbp
mov ecx, eax
mov dword [rsp + 0x50], ebp
shr rcx, 0x20
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 3
mov word [rsp + 0x5c], bp
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rbp
mov dword [rsp + 0x70], ebp
cmp ecx, 1
jne 0x14002a6aa
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x158]
mov qword [rsp + 0x54], rcx
jmp 0x14002a6af
mov qword [rsp + 0x54], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x40]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x1e0]
mov rdx, qword [rdi + 0x130]
xor r9d, r9d
mov rcx, rdi
mov qword [rdi + 0x130], rbp
mov qword [rsp + 0x20], rbp
lea r8d, [r9 + 0x25]
call fcn.14002ad40
test rbx, rbx
je 0x14002a79e
mov rax, qword [rbx]
mov rdx, qword [rax]
lea rax, [method.ui::LabelTemplate_class_ui::Control_.virtual_0]
cmp rdx, rax
jne 0x14002a7c3
mov rax, qword [rbx + 0x30]
cmp rax, rdi
jne 0x14002a79e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test al, al
je 0x14002a79e
mov rax, qword [rbx]
mov rdx, qword [rax + 0x138]
lea rax, [method.ui::LabelTemplate_class_ui::Control_.virtual_312]
cmp rdx, rax
jne 0x14002a7cd
movzx eax, byte [rbx + 0xc1]
test al, al
je 0x14002a79e
xor r9d, r9d
movss dword [rsp + 0x30], xmm6
mov rax, rbp
mov qword [rdi + 0x130], rbx
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0xa0], rbp
lea edx, [r9 + 2]
mov word [rsp + 0x20], bp
call fcn.140031220
mov rdx, qword [rdi + 0x130]
test rdx, rdx
je 0x14002a79e
xor r9d, r9d
mov qword [rsp + 0x20], rbp
mov rcx, rdi
lea r8d, [r9 + 0x24]
call fcn.14002ad40
mov rbp, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x80]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov rcx, rbx
call rdx
jmp 0x14002a70f
mov rcx, rbx
call rdx
jmp 0x14002a746
Function at 0x140030910
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x60
movzx edi, dl
mov rbx, rcx
cmp byte [rcx + 0x72], dl
je 0x140030a0c
mov rax, qword [rcx]
mov qword [rsp + 0x78], rsi
call qword [rax + 0x28]
cmp byte [rbx + 0xc4], 0
movzx esi, al
mov byte [rbx + 0x72], dil
je 0x14003094b
mov byte [rbx + 0xc4], 0
test dil, dil
jne 0x140030969
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140030969
cmp qword [rcx + 0x130], rbx
jne 0x140030969
xor edx, edx
call fcn.14002a5f0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp al, sil
mov rsi, qword [rsp + 0x78]
je 0x140030985
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x50]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test al, al
jne 0x14003099f
mov edx, 0xffffffff
mov rcx, rbx
call fcn.1400373d0
xor eax, eax
mov qword [rsp + 0x28], rbx
mov ecx, eax
mov qword [rsp + 0x70], rax
shr rcx, 0x20
xorps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], 0x38
mov word [rsp + 0x3c], ax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
cmp ecx, 1
jne 0x1400309ec
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x158]
mov qword [rsp + 0x34], rcx
jmp 0x1400309f1
mov qword [rsp + 0x34], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x20]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x1e0]
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret

Function at 0x140030ac0
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp byte [rcx + 0xc7], 0
jne 0x140030add
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x140030add
mov rdx, rcx
mov rcx, rax
jmp fcn.14002a5f0
ret

Function at 0x140031220
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x60
movzx eax, word [rsp + 0x90]
xor r10d, r10d
movss xmm0, dword [rsp + 0xa0]
mov rbx, rcx
mov qword [r11 - 0x40], rcx
mov dword [r11 - 0x38], r10d
mov word [rsp + 0x3c], ax
mov rax, qword [r11 + 0x30]
test eax, eax
mov dword [rsp + 0x20], edx
mov rcx, rax
mov qword [r11 - 0x28], r8
sete r10b
mov qword [r11 - 0x20], r9
shr rcx, 0x20
movss dword [rsp + 0x50], xmm0
cmp r10d, ecx
jne 0x140031285
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x158]
mov qword [r11 - 0x34], rcx
jmp 0x14003128a
mov qword [rsp + 0x34], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x20]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x1e0]
add rsp, 0x60
pop rbx
ret
Function at 0x140038af0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov rdi, rcx
add rcx, 0xfffffffffffffb88
lea rax, vtable.ui::Box.0
mov qword [rcx], rax
mov rax, qword [rdi - 0x470]
movsxd rdx, dword [rax + 4]
lea rax, vtable.ui::Box.1.0
mov qword [rdx + rdi - 0x470], rax
mov byte [rdi - 0x2f], 0
call fcn.14003a590
nop
mov r9, qword [rdi - 0x10]
mov r8, qword [r9]
lea rdx, [rsp + 0x40]
lea rcx, [rdi - 0x10]
call fcn.14002bd20
nop
mov edx, 0x40
mov rcx, qword [rdi - 0x10]
call fcn.14017b7ac
nop
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x140038baa
mov rdx, qword [rdi - 0x18]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x140038b96
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140038bf6
mov rcx, r8
call fcn.14017b7ac
nop
xor eax, eax
mov qword [rdi - 0x28], rax
mov qword [rdi - 0x20], rax
mov qword [rdi - 0x18], rax
mov rcx, qword [rdi - 0x38]
test rcx, rcx
je 0x140038bbe
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov r9, qword [rdi - 0x48]
mov r8, qword [r9]
lea rdx, [rsp + 0x40]
lea rcx, [rdi - 0x48]
call fcn.14002bd20
nop
mov edx, 0x40
mov rcx, qword [rdi - 0x48]
call fcn.14017b7ac
nop
lea rcx, [rdi - 0x48]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.14002f0f0
call fcn.1401b08a0
nop
int3
Function at 0x140039420
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x60
movzx ebx, dl
mov r14, rcx
cmp byte [rcx + 0x72], dl
je 0x140039519
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp byte [r14 + 0xc4], 0
movzx edi, al
mov byte [r14 + 0x72], bl
je 0x14003945e
mov byte [r14 + 0xc4], 0
test bl, bl
jne 0x14003947b
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x14003947b
cmp qword [rcx + 0x130], r14
jne 0x14003947b
xor edx, edx
call fcn.14002a5f0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
cmp al, dil
je 0x140039492
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x50]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
test al, al
jne 0x1400394ac
mov edx, 0xffffffff
mov rcx, r14
call fcn.1400373d0
xor eax, eax
mov qword [rsp + 0x28], r14
mov ecx, eax
mov qword [rsp + 0x70], rax
shr rcx, 0x20
xorps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], 0x38
mov word [rsp + 0x3c], ax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
cmp ecx, 1
jne 0x1400394f9
mov rax, qword [r14 + 0x30]
mov rcx, qword [rax + 0x158]
mov qword [rsp + 0x34], rcx
jmp 0x1400394fe
mov qword [rsp + 0x34], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x20]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x1e0]
mov rbx, qword [r14 + 0x450]
cmp rbx, qword [r14 + 0x458]
je 0x14003955d
mov qword [rsp + 0x78], rsi
nop
mov rdi, qword [rbx]
mov rcx, r14
mov rax, qword [r14]
mov rsi, qword [rdi]
call qword [rax + 0x28]
movzx edx, al
mov rcx, rdi
call qword [rsi + 0x128]
add rbx, 8
cmp rbx, qword [r14 + 0x458]
jne 0x140039530
mov rsi, qword [rsp + 0x78]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x14003aaf0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rdi
sub rsp, 0x40
lea rax, vtable.nbase::SupportWeakCallback.0
mov qword [rsp + 0x38], rbx
mov qword [rcx - 0x18], rax
mov rdi, rcx
mov rbx, qword [rcx - 8]
test rbx, rbx
je 0x14003ab48
mov qword [rsp + 0x30], rsi
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14003ab43
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x14003ab43
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rsi, qword [rsp + 0x30]
mov r9, qword [rdi - 0x28]
lea rdx, [rsp + 0x50]
lea rcx, [rdi - 0x28]
mov r8, qword [r9]
call fcn.140008ce0
mov rcx, qword [rdi - 0x28]
mov edx, 0xc8
call fcn.14017b7ac
mov r9, qword [rdi - 0x40]
lea rdx, [rsp + 0x58]
lea rcx, [rdi - 0x40]
mov r8, qword [r9]
call fcn.140008ce0
mov rcx, qword [rdi - 0x40]
mov edx, 0xc8
call fcn.14017b7ac
mov r9, qword [rdi - 0x58]
lea rdx, [rsp + 0x60]
lea rcx, [rdi - 0x58]
mov r8, qword [r9]
call fcn.140008ce0
mov rcx, qword [rdi - 0x58]
mov edx, 0xc8
call fcn.14017b7ac
mov r9, qword [rdi - 0x70]
lea rdx, [rsp + 0x68]
lea rcx, [rdi - 0x70]
mov r8, qword [r9]
call fcn.140008ce0
mov rcx, qword [rdi - 0x70]
mov edx, 0xc8
call fcn.14017b7ac
mov r9, qword [rdi - 0x88]
lea rdx, [rsp + 0x20]
lea rcx, [rdi - 0x88]
mov r8, qword [r9]
call fcn.140008ce0
mov rcx, qword [rdi - 0x88]
mov edx, 0xc8
call fcn.14017b7ac
mov rdx, qword [rdi - 0x98]
mov rbx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14003ac47
mov rcx, qword [rdi - 0xb0]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14003ac42
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14003ac73
mov rcx, r8
call fcn.14017b7ac
xor eax, eax
mov qword [rdi - 0x98], 7
mov qword [rdi - 0xa0], rax
lea rcx, [rdi - 0x130]
mov word [rdi - 0xb0], ax
add rsp, 0x40
pop rdi
jmp fcn.14002f0f0
call fcn.1401b08a0
int3

Function at 0x14003f780
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
add rcx, 0xfffffffffffffec8
call fcn.1400217c0
lea rcx, [rbx - 0x270]
call fcn.1400217c0
mov rcx, qword [rbx - 0x2a0]
test rcx, rcx
je 0x14003f7c6
mov rax, qword [rcx + 8]
add rcx, 8
movsxd rdx, dword [rax + 4]
add rcx, rdx
mov edx, 1
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rbx - 0x2a8]
test rcx, rcx
je 0x14003f7eb
mov rax, qword [rcx + 8]
mov edx, 1
add rcx, 8
movsxd r8, dword [rax + 4]
add rcx, r8
mov rax, qword [rcx]
call qword [rax]
lea rcx, [rbx - 0x2a8]
add rsp, 0x20
pop rbx
jmp fcn.140038af0

Function at 0x1400454d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
add rcx, 0xffffffffffffffd8
jmp fcn.14003f780
Function at 0x14004cb50
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r9, qword [rcx - 0x10]
lea rdx, [rsp + 0x30]
mov rdi, rcx
add rcx, 0xfffffffffffffff0
mov r8, qword [r9]
call fcn.140007f40
mov rcx, qword [rdi - 0x10]
mov edx, 0x48
call fcn.14017b7ac
mov rdx, qword [rdi - 0x20]
cmp rdx, 8
jb 0x14004cbc0
mov rcx, qword [rdi - 0x38]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004cbbb
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ccde
mov rcx, r8
call fcn.14017b7ac
xor ebx, ebx
mov qword [rdi - 0x20], 7
mov qword [rdi - 0x28], rbx
mov word [rdi - 0x38], bx
mov rdx, qword [rdi - 0x40]
cmp rdx, 8
jb 0x14004cc12
mov rcx, qword [rdi - 0x58]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004cc0d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ccde
mov rcx, r8
call fcn.14017b7ac
mov qword [rdi - 0x48], rbx
mov qword [rdi - 0x40], 7
mov word [rdi - 0x58], bx
mov rdx, qword [rdi - 0x80]
cmp rdx, 8
jb 0x14004cc65
mov rcx, qword [rdi - 0x98]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004cc60
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ccde
mov rcx, r8
call fcn.14017b7ac
mov qword [rdi - 0x88], rbx
mov qword [rdi - 0x80], 7
mov word [rdi - 0x98], bx
add rdi, 0xffffffffffffff48
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x14004ccbd
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004ccb8
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ccde
mov rcx, r8
call fcn.14017b7ac
mov qword [rdi + 0x10], rbx
mov rcx, rdi
mov qword [rdi + 0x18], 7
mov word [rdi], bx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140038af0
call fcn.1401b08a0
int3

Function at 0x14004cd00
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r9, qword [rcx - 0x10]
lea rdx, [rsp + 0x30]
mov rdi, rcx
add rcx, 0xfffffffffffffff0
mov r8, qword [r9]
call fcn.140007f40
mov rcx, qword [rdi - 0x10]
mov edx, 0x48
call fcn.14017b7ac
mov r9, qword [rdi - 0x28]
lea rdx, [rsp + 0x30]
lea rcx, [rdi - 0x28]
mov r8, qword [r9]
call fcn.140007f40
mov rcx, qword [rdi - 0x28]
mov edx, 0x48
call fcn.14017b7ac
mov rdx, qword [rdi - 0x38]
cmp rdx, 8
jb 0x14004cd8f
mov rcx, qword [rdi - 0x50]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004cd8a
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004cdb4
mov rcx, r8
call fcn.14017b7ac
xor eax, eax
mov qword [rdi - 0x38], 7
mov qword [rdi - 0x40], rax
lea rcx, [rdi - 0x58]
mov word [rdi - 0x50], ax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.14004cb50
call fcn.1401b08a0
int3
Function at 0x14004cdc0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
sub rsp, 0x20
lea rax, vtable.ui::OptionTemplate_class_ui::Box_.0
mov rbx, rcx
lea r8, [rcx - 0x5a8]
mov qword [r8], rax
mov rax, qword [rcx - 0x5a0]
movsxd rdx, dword [rax + 4]
lea rax, vtable.ui::OptionTemplate_class_ui::Box_.1.0
mov qword [rdx + rcx - 0x5a0], rax
cmp qword [rcx - 0x10], 0
je 0x14004ce10
mov rcx, qword [rcx - 0x578]
test rcx, rcx
je 0x14004ce10
lea rdx, [rbx - 0x20]
call fcn.1400281b0
mov rdx, qword [rbx - 8]
cmp rdx, 8
jb 0x14004ce4c
mov rcx, qword [rbx - 0x20]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14004ce47
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ce6c
mov rcx, r8
call fcn.14017b7ac
xor eax, eax
mov qword [rbx - 8], 7
mov qword [rbx - 0x10], rax
lea rcx, [rbx - 0x20]
mov word [rbx - 0x20], ax
add rsp, 0x20
pop rbx
jmp fcn.14004cd00
call fcn.1401b08a0
int3

Function at 0x14004fb30
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rdx, rcx
mov rcx, qword [rcx + 0x460]
test rcx, rcx
je 0x14004fb72
mov rax, qword [rcx]
mov rdx, qword [rax + 0x170]
lea rax, [method.ui::LabelTemplate_class_ui::Control_.virtual_368]
cmp rdx, rax
jne 0x14004fb89
cmp byte [rcx + 0xc7], 0
jne 0x14004fb88
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14004fb88
mov rdx, rcx
mov rcx, rax
jmp fcn.14002a5f0
cmp byte [rdx + 0xc7], 0
jne 0x14004fb88
mov rcx, qword [rdx + 0x30]
test rcx, rcx
jne fcn.14002a5f0
ret
jmp rdx
Function at 0x140052870
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
lea rax, vtable.nbase::SupportWeakCallback.0
mov rdi, rcx
mov qword [rcx - 0x18], rax
mov esi, 0xffffffff
mov rbx, qword [rcx - 8]
test rbx, rbx
je 0x1400528c4
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400528c4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400528c4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rdx, qword [rdi - 0x38]
cmp rdx, 8
jb 0x140052904
mov rcx, qword [rdi - 0x50]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400528ff
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400529c6
mov rcx, r8
call fcn.14017b7ac
xor ebx, ebx
mov qword [rdi - 0x38], 7
mov qword [rdi - 0x40], rbx
mov word [rdi - 0x50], bx
mov rdx, qword [rdi - 0x58]
cmp rdx, 8
jb 0x140052952
mov rcx, qword [rdi - 0x70]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14005294d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400529c6
mov rcx, r8
call fcn.14017b7ac
mov qword [rdi - 0x60], rbx
mov qword [rdi - 0x58], 7
mov word [rdi - 0x70], bx
mov rbx, qword [rdi - 0x88]
mov qword [rsp + 0x30], rbp
test rbx, rbx
je 0x14005299a
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14005299a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x14005299a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rcx, [rdi - 0x110]
call fcn.140008f30
lea rcx, [rdi - 0x128]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.1400529d0
call fcn.1401b08a0
int3