Function at 0x140024f88
Capabilities:
Hash data via bcrypt

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
xor r12d, r12d
lea rcx, [rbp - 0x50]
mov ebx, r12d
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], rbx
mov esi, r12d
mov qword [rbp - 0x70], r12
mov r13d, r12d
mov qword [rbp - 0x78], r12
mov edi, r12d
mov dword [rbp + 0x70], r12d
mov r14d, r12d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
mov dword [rbp + 0x60], r12d
mov qword [0x1400349a0], r12
call fcn.1400260a8
mov r15d, eax
test eax, eax
js 0x14002514e
mov rcx, qword [0x1400346c8]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x140025007
mov rcx, qword [0x1400346c0]
lea r15d, [rax*2 + 0x40]
mov edx, r15d
mov dword [rbp - 0x80], r15d
xor r8d, r8d
call fcn.140015584
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov edx, 0x800
mov qword [rsp + 0x60], rax
mov rbx, rax
call fcn.140015584
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov edx, 0x800
mov r12, rax
call fcn.140015584
xor edx, edx
mov qword [rsp + 0x68], rax
test rbx, rbx
je 0x140025d59
test r12, r12
je 0x140025d59
test rax, rax
je 0x140025d59
mov r9, qword [0x1400346c8]
mov rcx, rbx
mov r8, qword [0x140034530]
mov edx, r15d
call fcn.140003ad0
xor eax, eax
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov dword [rsp + 0x28], 1
mov r8d, 0x120089
mov rdx, rbx
mov dword [rsp + 0x20], 1
call fcn.14000fa34
xor ebx, ebx
test eax, eax
jns 0x1400251a0
mov r15d, 0xc0000225
mov r14, rbx
mov rdi, rbx
mov rcx, qword [rsp + 0x60]
mov edx, dword [rbp - 0x80]
call fcn.14000ef8c
test r12, r12
je 0x1400250fe
mov edx, 0x800
mov rcx, r12
call fcn.14000ef8c
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140025115
mov edx, 0x800
mov rcx, rax
call fcn.14000ef8c
test r13, r13
je 0x140025122
mov rcx, r13
call fcn.140015620
test rbx, rbx
je 0x14002512f
mov rcx, rbx
call fcn.140015620
test r14, r14
je 0x14002513c
mov rcx, r14
call fcn.140015620
test rdi, rdi
je 0x140025149
mov rcx, rdi
call fcn.140015620
mov rbx, qword [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.14002605c
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14002516b
mov edx, 0x7668704b
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
test rsi, rsi
je 0x14002517a
mov edx, ebx
mov rcx, rsi
call fcn.14000ef8c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140025189
call fcn.14000f99c
mov eax, r15d
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.14000fbc4
mov r15d, eax
test eax, eax
js 0x1400250d9
mov rcx, qword [rsp + 0x78]
lea r8, [rbp + 0x70]
mov rdx, r12
call fcn.140004ed0
test eax, eax
js 0x14002554a
mov r15, rbx
mov edx, 0x3a
mov rcx, r12
call sub.ntoskrnl.exe_wcschr
xor edx, edx
test rax, rax
je 0x14002554a
cmp rax, r12
je 0x14002554a
lea rbx, [rax + 2]
lea r8d, [rdx + 0x20]
jbe 0x140025215
mov rcx, rax
sub rax, 2
cmp word [rax], r8w
ja 0x140025212
cmp rax, r12
ja 0x1400251fe
jmp 0x140025215
mov rax, rcx
mov word [rax], dx
jmp 0x140025227
test ax, ax
je 0x14002554a
add rbx, 2
movzx eax, word [rbx]
cmp ax, r8w
jbe 0x14002521a
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], dx
jne 0x140025234
lea rax, [rbx + rax*2]
jmp 0x140025250
mov rcx, rax
sub rax, 2
cmp word [rax], r8w
ja 0x140025257
cmp rax, rbx
ja 0x140025243
jmp 0x14002525a
mov rax, rcx
mov word [rax], dx
lea rcx, [0x14002d1f0]
mov rdx, r12
call sub.ntoskrnl.exe__wcsicmp
xor ecx, ecx
test eax, eax
jne 0x1400252bd
test rsi, rsi
jne 0x1400252bd
mov rcx, rbx
call fcn.1400262b0
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov edx, eax
mov qword [rsp + 0x70], rax
call fcn.140015584
mov qword [rbp - 0x78], rax
mov rsi, rax
test rax, rax
je 0x140025573
mov r8, qword [rsp + 0x70]
mov rdx, rax
mov r8d, r8d
mov rcx, rbx
call fcn.140026150
jmp 0x140025531
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], cx
jne 0x1400252c1
mov rcx, qword [rsp + 0x68]
lea r8, [rbp + 0x68]
add eax, eax
mov r9, r12
mov edx, 0x800
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntoskrnl.exe_RtlUnicodeToUTF8N]
xor ecx, ecx
test eax, eax
js 0x140025305
mov r8d, dword [rbp + 0x68]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x48]
call sub.ksecdd.sys_BCryptHashData
xor ecx, ecx
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], cx
jne 0x140025309
mov rcx, qword [rsp + 0x68]
lea r8, [rbp + 0x68]
add eax, eax
mov r9, rbx
mov edx, 0x800
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntoskrnl.exe_RtlUnicodeToUTF8N]
test eax, eax
js 0x140025348
mov r8d, dword [rbp + 0x68]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x48]
call sub.ksecdd.sys_BCryptHashData
mov rdx, r12
lea rcx, [0x14002d210]
call sub.ntoskrnl.exe__wcsicmp
xor ecx, ecx
test eax, eax
jne 0x140025394
cmp qword [rsp + 0x58], rcx
jne 0x140025394
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140024d94
test al, al
je 0x140025531
mov edx, 0x2b
mov rcx, rbx
call sub.ntoskrnl.exe_wcschr
test rax, rax
je 0x140025531
mov rcx, rax
jmp 0x1400253aa
mov rdx, r12
lea rcx, [0x14002d220]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x1400253b7
mov rcx, rbx
call sub.ntoskrnl.exe__wtol
mov dword [rbp + 0x60], eax
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d230]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x14002541e
test r13, r13
jne 0x14002541e
lea edx, [rax + 0x2d]
mov rcx, rbx
call sub.ntoskrnl.exe_wcschr
xor ecx, ecx
test rax, rax
je 0x140025404
mov word [rax], cx
test rdi, rdi
jne 0x140025404
mov rcx, qword [0x1400346c0]
lea rdx, [rax + 2]
xor r8d, r8d
call fcn.14001558c
mov rdi, rax
mov qword [rsp + 0x40], rax
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov rdx, rbx
call fcn.14001558c
mov r13, rax
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d240]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025455
test rdi, rdi
jne 0x140025455
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov rdx, rbx
call fcn.14001558c
mov rdi, rax
mov qword [rsp + 0x40], rax
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d250]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x14002548c
test r15, r15
jne 0x14002548c
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov rdx, rbx
call fcn.14001558c
mov r15, rax
mov qword [rsp + 0x48], rax
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d260]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x1400254c0
test r14, r14
jne 0x1400254c0
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov rdx, rbx
call fcn.14001558c
mov r14, rax
mov qword [rsp + 0x50], rax
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d280]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x1400254dd
mov rcx, rbx
call sub.ntoskrnl.exe__wtol
jmp 0x140025531
mov rdx, r12
lea rcx, [0x14002d290]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x14002550b
lea rdx, [0x14002d2b0]
mov rcx, rbx
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x140025531
mov r15d, 0xc0000024
jmp 0x140025579
mov rdx, r12
lea rcx, [0x14002d2d0]
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025531
lea rdx, [0x1400349b0]
mov rcx, rbx
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x14002558d
mov rcx, qword [rsp + 0x78]
lea r8, [rbp + 0x70]
mov rdx, r12
call fcn.140004ed0
test eax, eax
jns 0x1400251d3
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.140025fa8
mov r15d, eax
test eax, eax
js 0x140025d50
test rsi, rsi
jne 0x140025595
mov r15d, 0xc0000079
jmp 0x140025579
mov r15d, 0xc000009a
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x1400250df
mov r15d, 0xc0000485
jmp 0x140025579
xor esi, esi
mov r15d, esi
test r14, r14
je 0x1400256b6
or rdi, 0xffffffffffffffff
mov rsi, rdi
xor ebx, ebx
inc rsi
cmp word [r14 + rsi*2], bx
jne 0x1400255ac
mov rcx, qword [0x1400346c0]
xor r8d, r8d
mov edx, 0x4000
call fcn.140015584
mov r14, rax
mov dword [rbp + 0x78], ebx
lea rax, [0x14002d2e0]
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
lea rax, [rbp + 0x78]
mov dword [rbp - 0x20], 0x3fff
xor ecx, ecx
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x10], 1
call fcn.140002220
test eax, eax
js 0x14002569e
mov eax, dword [rbp + 0x78]
test eax, eax
je 0x14002569e
mov byte [rax + r14], bl
inc rdi
cmp byte [r14 + rdi], bl
jne 0x140025614
add rdi, r14
mov rbx, r14
cmp r14, rdi
jae 0x14002569e
mov edx, 0xa
mov rcx, rbx
call sub.ntoskrnl.exe_strchr
mov r10, rax
xor eax, eax
test r10, r10
cmove r10, rdi
mov rdx, r10
sub rdx, rbx
cmp rdx, 1
jbe 0x140025657
cmp byte [rdx + rbx - 1], 0xd
jne 0x14002565c
dec rdx
test rdx, rdx
je 0x14002568f
mov r8d, eax
test esi, esi
je 0x14002568a
mov r9, qword [rsp + 0x50]
mov eax, r8d
cmp rax, rdx
jae 0x14002568a
movsx ecx, byte [rbx]
movzx eax, word [r9]
cmp ecx, eax
jne 0x14002568a
inc r8d
add r9, 2
inc rbx
cmp r8d, esi
jb 0x140025668
cmp r8d, esi
je 0x140025698
lea rbx, [r10 + 1]
cmp rbx, rdi
jmp 0x140025626
mov r15d, 0xc0000804
mov edx, 0x4000
mov rcx, r14
call fcn.14000ef8c
xor esi, esi
test r15d, r15d
js 0x140025d50
or dword [0x1400349a0], 1
lea rcx, [rbp + 0x78]
xorps xmm0, xmm0
mov qword [rbp + 0x78], rsi
movups xmmword [rbp - 8], xmm0
call fcn.140024b1c
movabs rax, 0xfffff78000000014
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
call qword [sym.imp.ntoskrnl.exe_ExSystemTimeToLocalTime]
mov rdi, qword [rsp + 0x40]
mov r14d, 0xffffe4ff
test r13, r13
jne 0x140025712
test rdi, rdi
je 0x140025712
mov r13, rdi
mov qword [rsp + 0x40], rsi
mov rdi, rsi
jmp 0x14002571e
mov rbx, rsi
test r13, r13
je 0x1400258f4
lea rdx, [0x14002d300]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025746
mov eax, dword [0x1400349a0]
and eax, 0xffffe5ff
or eax, 0x500
jmp 0x1400258eb
lea rdx, [0x14002d320]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x14002576b
mov eax, dword [0x1400349a0]
and eax, r14d
bts eax, 0xa
jmp 0x1400258eb
lea rdx, [0x14002d330]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025792
mov eax, dword [0x1400349a0]
and eax, 0xffffe8ff
bts eax, 0xb
jmp 0x1400258eb
lea rdx, [0x14002d350]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258db
lea rdx, [0x14002d370]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258db
lea rdx, [0x14002d380]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258ca
lea rdx, [0x14002d390]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258ca
lea rdx, [0x14002d3b0]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258b8
lea rdx, [0x14002d3d0]
mov rcx, r13
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x1400258b8
lea rdx, [0x14002d3e0]
mov rcx, r13
call sub.ntoskrnl.exe_wcsstr
test rax, rax
je 0x1400258a6
mov ebx, 5
lea rdx, [0x14002d3f0]
mov r8d, ebx
mov rcx, r13
call sub.ntoskrnl.exe__wcsnicmp
test eax, eax
jne 0x140025860
mov eax, dword [0x1400349a0]
and eax, 0xfffff9ff
or eax, 0x1900
jmp 0x1400258eb
mov r8, rbx
lea rdx, [0x14002d400]
mov rcx, r13
call sub.ntoskrnl.exe__wcsnicmp
test eax, eax
mov eax, dword [0x1400349a0]
jne 0x14002589a
mov rbx, qword [rsp + 0x58]
and eax, 0xfffffaff
or eax, 0x1a00
movabs rcx, 0x46b8e92d8000
add rbx, rcx
jmp 0x1400258ee
and eax, 0xfffff8ff
or eax, 0x1800
jmp 0x1400258eb
mov eax, dword [0x1400349a0]
and eax, 0xffffecff
or eax, 0xc00
jmp 0x1400258eb
mov eax, dword [0x1400349a0]
and eax, 0xfffff1ff
or eax, 0x1100
jmp 0x1400258eb
mov eax, dword [0x1400349a0]
and eax, 0xfffff0ff
bts eax, 0xc
jmp 0x1400258eb
mov eax, dword [0x1400349a0]
and eax, 0xfffffcff
or eax, 0x1c00
mov rbx, rsi
mov dword [0x1400349a0], eax
mov ecx, dword [0x1400349a0]
movabs rdx, 0xc92a69c000
mov eax, ecx
shr eax, 8
and eax, 0x1c
cmp eax, 4
jne 0x14002591c
or ecx, 0xe000
jmp 0x140025afd
cmp eax, 0x1c
jne 0x14002595c
movsxd rax, dword [rbp + 0x60]
test eax, eax
jne 0x140025947
test rdi, rdi
je 0x140025942
mov rcx, rdi
call sub.ntoskrnl.exe__wtoi
movabs rdx, 0xc92a69c000
jmp 0x140025947
mov eax, 7
mov ecx, dword [0x1400349a0]
movsx rbx, ax
imul rbx, rdx
add rbx, qword [rsp + 0x58]
jmp 0x140025911
test rdi, rdi
je 0x140025aed
lea rdx, [0x14002d410]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
je 0x140025aed
lea rdx, [0x14002d430]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
mov ecx, dword [0x1400349a0]
test eax, eax
mov eax, ecx
jne 0x1400259ce
shr eax, 8
and eax, 0x1f
cmp eax, 0x19
je 0x140025911
add eax, 0xffffffe8
test eax, 0xfffffffd
je 0x1400259bf
btr ecx, 0xe
or ecx, 0xa000
jmp 0x140025afd
and ecx, 0xffff9fff
bts ecx, 0xf
jmp 0x140025afd
shr eax, 8
and eax, 0x1c
cmp eax, 0xc
je 0x1400259e2
cmp eax, 0x18
jne 0x140025b03
lea rdx, [0x14002d450]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025a09
mov ecx, dword [0x1400349a0]
and ecx, r14d
or ecx, 0xe400
jmp 0x140025afd
lea rdx, [0x14002d460]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025a50
lea edx, [rax + 4]
mov r8d, 0x7e6
lea ecx, [rax + 1]
call fcn.140024b50
cmp qword [rsp + 0x58], rax
jge 0x140025a50
mov ecx, dword [0x1400349a0]
mov rbx, 0xfffffffffffffffe
and ecx, 0xffff9fff
bts ecx, 0xf
jmp 0x140025afd
lea rdx, [0x14002d460]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025aa1
mov ecx, dword [0x1400349a0]
mov eax, ecx
and eax, 0x1c00
cmp eax, 0x1800
jne 0x140025a83
btr ecx, 0xf
or ecx, 0x6000
jmp 0x140025a8d
btr ecx, 0xe
or ecx, 0xa000
mov rbx, qword [rsp + 0x58]
movabs rdx, 0x23da2f18d8000
add rbx, rdx
jmp 0x140025afd
lea rdx, [0x14002d470]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
test eax, eax
jne 0x140025ac6
mov ecx, dword [0x1400349a0]
btr ecx, 0xf
or ecx, 0x6000
jmp 0x140025afd
lea rdx, [0x14002d480]
mov rcx, rdi
call sub.ntoskrnl.exe__wcsicmp
mov ecx, dword [0x1400349a0]
test eax, eax
jne 0x140025af3
and ecx, 0xffff70ff
or ecx, 0x7000
jmp 0x140025afd
mov ecx, dword [0x1400349a0]
and ecx, 0xffff5fff
bts ecx, 0xe
mov dword [0x1400349a0], ecx
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140025be9
mov rdi, rax
mov ecx, 0x20
movzx eax, word [rdi]
cmp ax, cx
je 0x140025b27
cmp ax, 9
jne 0x140025b2d
add rdi, 2
jmp 0x140025b19
mov edx, 0x2c
mov rcx, rdi
call sub.ntoskrnl.exe_wcschr
mov r14, rax
test rax, rax
jne 0x140025b4f
xor edx, edx
mov rcx, rdi
call sub.ntoskrnl.exe_wcschr
mov r14, rax
mov rsi, r14
lea rcx, [0x14002d490]
sub rsi, rdi
mov rdx, rdi
sar rsi, 1
mov r8, rsi
call sub.ntoskrnl.exe__wcsnicmp
test eax, eax
jne 0x140025b78
bts dword [0x1400349a0], 0x1f
jmp 0x140025bb6
mov r8, rsi
lea rcx, [0x14002d4a0]
mov rdx, rdi
call sub.ntoskrnl.exe__wcsnicmp
test eax, eax
jne 0x140025b98
bts dword [0x1400349a0], 0x1e
jmp 0x140025bb6
mov r8, rsi
lea rcx, [0x14002d4b0]
mov rdx, rdi
call sub.ntoskrnl.exe__wcsnicmp
test eax, eax
jne 0x140025bba
bts dword [0x1400349a0], 0x1d
xor esi, esi
jmp 0x140025bda
mov r8, rsi
lea rcx, [0x14002d4c0]
mov rdx, rdi
call sub.ntoskrnl.exe__wcsnicmp
xor esi, esi
test eax, eax
jne 0x140025bda
bts dword [0x1400349a0], 0x1c
cmp word [r14], si
je 0x140025c20
lea rdi, [r14 + 2]
jmp 0x140025b14
mov eax, ecx
shr eax, 0xd
and eax, 7
sub eax, 2
je 0x140025c16
sub eax, 1
je 0x140025c16
sub eax, 1
je 0x140025c12
sub eax, 1
je 0x140025c0e
cmp eax, 2
jne 0x140025c20
bts ecx, 0x1c
bts ecx, 0x1d
bts ecx, 0x1e
bts ecx, 0x1f
mov dword [0x1400349a0], ecx
mov r9d, dword [0x1400349a0]
mov ecx, r9d
shr ecx, 8
mov edx, ecx
and edx, 0x1c
cmp edx, 4
jne 0x140025c3d
or rbx, 0xffffffffffffffff
jmp 0x140025c7f
test rbx, rbx
jne 0x140025c75
movsxd rax, dword [rbp + 0x60]
test eax, eax
je 0x140025c63
movsx rbx, ax
movabs rax, 0xc92a69c000
imul rbx, rax
add rbx, qword [rsp + 0x58]
jmp 0x140025c75
mov rbx, qword [rsp + 0x58]
movabs r8, 0x11ed178c6c000
add rbx, r8
lea eax, [rdx - 8]
test eax, 0xfffffff7
je 0x140025c8f
and ecx, 0x1f
cmp cl, 0x1a
je 0x140025c8f
mov r10b, sil
cmp edx, 0x1c
jne 0x140025c92
mov r10b, 1
mov rcx, qword [rbp - 0x58]
cmp rbx, 0xfffffffffffffffe
jne 0x140025ca2
or r9d, 2
jmp 0x140025cf1
cmp rbx, 0xffffffffffffffff
je 0x140025cf8
cmp rbx, rcx
jge 0x140025cb8
or r9d, 2
mov dword [0x1400349a0], r9d
mov r8, rbx
movabs rax, 0xd6bf94d5e57a42bd
sub r8, rcx
imul r8
add rdx, r8
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [0x1400349a4], edx
test r10b, r10b
jne 0x140025cf8
cmp rbx, qword [rbp + 0x78]
jge 0x140025cf8
or r9d, 4
mov dword [0x1400349a0], r9d
mov eax, r9d
mov edx, r9d
shr eax, 1
shr edx, 2
test r10b, r10b
cmovne edx, eax
test dl, 1
je 0x140025d50
mov edx, 0x1c00
mov eax, r9d
and eax, edx
cmp eax, edx
je 0x140025d39
movabs rax, 0x1792f8648000
add rax, rbx
cmp rax, rcx
jl 0x140025d39
or r9d, 0x20
mov dword [0x1400349a0], r9d
test r9b, 0x20
jne 0x140025d50
and r9d, 0xfffffffe
mov r15d, 0xc0000193
mov dword [0x1400349a0], r9d
mov rsi, qword [rbp - 0x78]
jmp 0x140025579
mov rcx, qword [rsp + 0x60]
mov eax, edx
mov qword [rsp + 0x70], rax
mov rbx, rdx
mov r15d, 0xc000009a
test rcx, rcx
je 0x1400250ec
jmp 0x1400250e4