Function at 0x18025b520
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor
Encrypt data using aes via x86 extensions
Encrypt data using speck

Disassembly:
ret
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x1e8]
sub rsp, 0x2e8
mov rax, qword [0x1804c4e78]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
xorps xmm0, xmm0
mov qword [rbp - 0x60], rcx
xorps xmm1, xmm1
xor eax, eax
xor dil, dil
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x50], rax
mov rbx, rcx
mov qword [rbp], rax
movabs r14, 0x1248fe7a5c30
mov qword [rbp + 0x140], rax
mov qword [rbp + 0xf0], rax
mov byte [rsp + 0x60], dil
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x40], xmm1
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp + 0x100], xmm1
movups xmmword [rbp + 0x110], xmm1
movups xmmword [rbp + 0x120], xmm1
movups xmmword [rbp + 0x130], xmm1
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
test rcx, rcx
je 0x18025df0e
cmp qword [rcx + 0xd48], rax
je 0x18025df0e
cmp qword [rcx + 0xd50], rax
je 0x18025df0e
cmp qword [rcx + 0xd58], rax
je 0x18025df0e
mov eax, dword [rcx + 0xd74]
add eax, dword [rcx + 0xd70]
cmp eax, dword [rcx + 0xd78]
ja 0x18025df0e
cmp dword [rcx + 0xda4], 0
jne 0x18025b64d
mov dword [rcx + 0xda4], 0x4b
cmp dword [rcx + 0xda8], 0
jne 0x18025b660
mov dword [rcx + 0xda8], 8
mov ecx, dword [rcx + 0xd8c]
mov eax, dword [rbx + 0xd88]
mov qword [rsp + 0x318], rsi
mov qword [rsp + 0x320], r12
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x2e0], r15
cmp eax, ecx
jae 0x18025decd
lea rsi, [rbx + 0xda0]
mov r13d, 0x80000000
xor r12d, r12d
lea r15, [0x180000000]
nop dword [rax + rax]
xor edx, edx
mov qword [rbp - 0x58], rsi
inc eax
lea rcx, [rbp + 0x10]
inc r14
mov dword [rbx + 0xd88], eax
mov qword [rbp - 0x50], r14
lea r8d, [rdx + 0x48]
call fcn.180264da0
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x48]
call fcn.180264da0
xor edx, edx
lea rcx, [rbp + 0x60]
lea r8d, [rdx + 0x48]
call fcn.180264da0
xor edx, edx
lea rcx, [rbp + 0xb0]
lea r8d, [rdx + 0x48]
call fcn.180264da0
xor edx, edx
lea rcx, [rbp + 0x100]
lea r8d, [rdx + 0x48]
call fcn.180264da0
test dil, dil
jne 0x18025dec3
cmp qword [rbx + 0xd98], 0
je 0x18025b731
mov eax, dword [rsi]
test al, 2
jne 0x18025defd
mov rdi, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
cmp rdi, rcx
jb 0x18025deb9
mov edx, dword [rbx + 0xd70]
add rdx, rcx
cmp rdi, rdx
jae 0x18025deb9
lea rax, [rdi + 1]
cmp rax, rcx
jbe 0x18025deb9
cmp rax, rdx
ja 0x18025deb9
mov r8d, dword [rbx + 0xd70]
sub rdi, rcx
mov rdx, qword [rbx + 0xd48]
sub r8, rdi
movzx r9d, byte [rbx + 0xd42]
add rdx, rdi
mov rcx, rbx
mov byte [rsp + 0x20], r9b
call fcn.18025fb90
cmp eax, r13d
jae 0x18025dea8
mov r11, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
movzx r9d, byte [rbx + 0xc]
cmp r11, rcx
jb 0x18025deb9
mov r8d, dword [rbx + 0xd70]
add r8, rcx
cmp r11, r8
jae 0x18025deb9
lea rdx, [r11 + r9]
cmp rdx, rcx
jbe 0x18025deb9
cmp rdx, r8
ja 0x18025deb9
mov r8d, r12d
test r9d, r9d
je 0x18025b82e
mov r10, qword [rbx + 0xd58]
nop dword [rax]
mov ecx, r8d
add rcx, rdi
mov rax, rcx
and cl, 7
shr rax, 3
movzx edx, byte [rax + r10]
shr dl, cl
test dl, 1
jne 0x18025b826
inc r8d
cmp r8d, r9d
jb 0x18025b800
jmp 0x18025b82e
or qword [rbx + 0xd98], 4
test byte [rsi], 1
je 0x18025ba27
xorps xmm0, xmm0
lea r9, [rbp + 0x150]
mov r8d, 0x80
mov rdx, r11
mov rcx, rbx
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
call fcn.180263fd0
mov rax, qword [rbx + 0x370]
lea rdx, str.________RAX__0x_016llx_RCX__0x_016llx_RDX__0x_016llx_RBX__0x_016llx_n
mov r9, qword [rbx + 0x360]
mov rcx, rbx
mov r8, qword [rbx + 0x358]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x368]
mov qword [rsp + 0x20], rax
call fcn.18025faf0
mov rax, qword [rbx + 0x390]
lea rdx, str.________RSP__0x_016llx_RBP__0x_016llx_RSI__0x_016llx_RDI__0x_016llx_n
mov r9, qword [rbx + 0x380]
mov rcx, rbx
mov r8, qword [rbx + 0x378]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x388]
mov qword [rsp + 0x20], rax
call fcn.18025faf0
mov rax, qword [rbx + 0x3b0]
lea rdx, str.________R8___0x_016llx_R9___0x_016llx_R10__0x_016llx_R11__0x_016llx_n
mov r9, qword [rbx + 0x3a0]
mov rcx, rbx
mov r8, qword [rbx + 0x398]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x3a8]
mov qword [rsp + 0x20], rax
call fcn.18025faf0
mov rax, qword [rbx + 0x3d0]
lea rdx, str.________R12__0x_016llx_R13__0x_016llx_R14__0x_016llx_R15__0x_016llx_n
mov r9, qword [rbx + 0x3c0]
mov rcx, rbx
mov r8, qword [rbx + 0x3b8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x3c8]
mov qword [rsp + 0x20], rax
call fcn.18025faf0
mov r9, qword [rbx + 0x3e0]
lea rdx, str.________RIP__0x_016llx_RFLAGS__0x_016llx
mov r8, qword [rbx + 0x3f0]
mov rcx, rbx
call fcn.18025faf0
mov r8, qword [rbx + 0x3e0]
mov rsi, r8
mov rdi, r8
mov r11, r8
shr rsi, 0xb
mov r10, r8
shr rdi, 0xa
mov rdx, r8
shr r11, 9
mov rcx, r8
shr r10, 8
mov rax, r8
shr rdx, 7
mov r9, r8
shr rcx, 6
shr rax, 4
and esi, 1
shr r9, 2
and edi, 1
and r11d, 1
and r10d, 1
and edx, 1
and ecx, 1
and eax, 1
and r9d, 1
and r8d, 1
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], edx
lea rdx, str.__CF:_d_PF:_d_AF:_d_ZF:_d_SF:_d_TF:_d_IF:_d_DF:_d_OF:_d_n
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18025faf0
mov r8, qword [rbx + 0x3f0]
lea r9, [rbp + 0x150]
lea rdx, str.Emulating:_0x_016llx__s_n
mov rcx, rbx
call fcn.18025faf0
mov rsi, qword [rbp - 0x58]
mov rcx, qword [rbx + 0x3f0]
movzx eax, byte [rbx + 0xc]
add rax, rcx
cmp dword [rbx + 0x30c], 0x71
mov qword [rbx + 0x3f0], rax
jne 0x18025ba7e
cmp dword [rbx + 0x304], 0xda
je 0x18025ba7e
mov qword [rbx + 0x438], rcx
movzx edi, byte [rsp + 0x60]
mov ecx, dword [rbx + 0xd8c]
mov eax, dword [rbx + 0xd88]
cmp eax, ecx
jae 0x18025decd
mov rsi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x50]
jmp 0x18025b6b0
mov edx, dword [rbx + 0x304]
mov eax, edx
cmp edx, 0x109
jg 0x18025c73f
je case.0x18025babb.22
dec eax
cmp eax, 0xfa
ja case.0x18025dcc4.1554
cdqe
movzx eax, byte [r15 + rax + 0x25df80]
mov ecx, dword [r15 + rax*4 + 0x25df18]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 0x60]
mov dword [rbp], eax
mov eax, dword [rbx + 0x438]
mov dword [rbp - 0x34], eax
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
je case.0x18025dcc4.1548
mov r13, qword [rsp + 0x328]
mov r12, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x318]
mov r15, qword [rsp + 0x2e0]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.18026ad00
add rsp, 0x2e8
pop r14
pop rdi
pop rbx
pop rbp
ret
mov eax, dword [rbx + 0x60]
mov ecx, 0x20
cmp eax, 0x20
cmova eax, ecx
mov dword [rbp], eax
mov rax, qword [rbx + 0x438]
mov qword [rbp - 0x38], rax
jmp 0x18025bacc
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18025e320
test al, al
je case.0x18025dcc4.1548
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 1
call fcn.18025e520
test eax, eax
jne 0x18025bae2
jmp 0x18025bacc
lea r8, [rbp - 0x40]
mov edx, 2
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov rax, qword [rbp + 0x10]
mov rcx, rbx
cmp qword [rbp - 0x40], rax
jne 0x18025bbe3
lea r8, [rbp - 0x40]
mov edx, 1
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
or qword [rbx + 0x3e0], 0x40
jmp case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
mov edx, 2
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
and qword [rbx + 0x3e0], 0xffffffffffffffbf
jmp case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp dword [rbx + 0x304], 5
mov r9, qword [rbp - 0x40]
jne 0x18025bc50
mov eax, dword [rbx + 0x3e0]
and eax, 1
add r9, rax
mov qword [rbp - 0x40], r9
mov eax, dword [rbp]
mov rcx, rbx
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 5
mov dword [rbp + 0xa0], eax
mov dword [rsp + 0x20], eax
lea rdx, [r9 + r8]
mov qword [rbp + 0x60], rdx
call fcn.18025ecd0
lea r8, [rbp + 0x60]
jmp 0x18025bad0
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 4
lea rdx, [r8 - 1]
mov eax, dword [rbp + 0x50]
mov r9d, 1
movzx edi, byte [rbx + 0x3e0]
mov rcx, rbx
mov dword [rbp + 0xa0], eax
mov dword [rbp], eax
mov dword [rsp + 0x20], eax
mov qword [rbp + 0x60], rdx
mov qword [rbp - 0x40], 1
call fcn.18025ecd0
mov rax, qword [rbx + 0x3e0]
test dil, 1
je 0x18025bcf4
or rax, 1
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x18025bad0
and rax, 0xfffffffffffffffe
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x18025bad0
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov rax, qword [rbp - 0x40]
xor edx, edx
mov ecx, dword [rbp + 0x50]
mov r9, qword [rbx + 0x3e0]
mov r10, qword [rbp + 0x10]
shl rcx, 3
mov r8, r10
div rcx
mov rax, r9
or r9, 1
and rax, 0xfffffffffffffffe
mov qword [rbp - 0x40], rdx
mov rcx, rdx
shr r8, cl
test r8b, 1
cmove r9, rax
mov eax, dword [rbx + 0x304]
mov qword [rbx + 0x3e0], r9
cmp eax, 0x42
jne 0x18025bd93
bts r10, rdx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x18025bad0
cmp eax, 0x41
jne 0x18025bda9
btr r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x18025bad0
cmp eax, 0x40
jne 0x18025bdbf
btc r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x18025bad0
cmp eax, 0x3f
je case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
jmp 0x18025bad0
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0xb0]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x18025bad2
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
lea edx, [rax + 1]
jmp 0x18025bad2
and qword [rbx + 0x3e0], 0xfffffffffffffbff
jmp case.0x18025dcc4.1548
and qword [rbx + 0x3e0], 0xfffffffffffffffe
jmp case.0x18025dcc4.1548
xor qword [rbx + 0x3e0], 1
jmp case.0x18025dcc4.1548
cmp byte [rbx + 0xd43], 0
jne 0x18025c785
and qword [rbx + 0x3e0], 0xfffffffffffffdff
jmp case.0x18025dcc4.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov ecx, dword [rbp]
lea eax, [rcx + rcx]
mov dword [rbp + 0x50], eax
cmp ecx, 1
jne 0x18025bf0f
test byte [rbp - 0x40], 0x80
je 0x18025befe
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
movzx eax, byte [rbp - 0x40]
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
mov rax, qword [rbp - 0x40]
cmp ecx, 2
jne 0x18025bf42
bt rax, 0xf
jae 0x18025bf32
or rax, 0xffffffffffff0000
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
movzx eax, ax
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
cmp ecx, 4
jne 0x18025bf68
test r13, rax
je 0x18025bf66
movabs rcx, 0xffffffff00000000
lea r8, [rbp + 0x10]
or rax, rcx
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
mov eax, eax
mov qword [rbp + 0x10], rax
lea r8, [rbp + 0x10]
jmp 0x18025bad0
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp]
mov dword [rbp + 0x50], eax
cmp eax, 1
jne 0x18025bfb7
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
shr rax, 7
and eax, 1
neg rax
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
cmp eax, 2
jne 0x18025bfda
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
shr rax, 0xf
and eax, 1
neg rax
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
cmp eax, 4
mov rax, qword [rbp - 0x40]
jne 0x18025bffd
shr rax, 0x1f
lea r8, [rbp + 0x10]
and eax, 1
neg rax
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
shr rax, 0x3f
lea r8, [rbp + 0x10]
neg rax
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
mov qword [rbx + 0x358], r12
mov qword [rbx + 0x370], r12
mov qword [rbx + 0x360], r12
mov qword [rbx + 0x368], r12
jmp case.0x18025dcc4.1548
xor edx, edx
lea rcx, [rbx + 0x500]
lea r8d, [rdx + 0x40]
call fcn.180264da0
jmp case.0x18025dcc4.1548
test dword [rsi], 0x10000
jne 0x18025c061
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
movzx eax, byte [rbp + 0x10]
movzx r13d, byte [rbp + 0x14]
movzx r12d, byte [rbp + 0x15]
movzx r15d, byte [rbp + 0x16]
movzx r14d, byte [rbp + 0x17]
movzx esi, byte [rbp + 0x18]
movzx edi, byte [rbp + 0x19]
movzx r11d, byte [rbp + 0x1a]
movzx r10d, byte [rbp + 0x1b]
movzx r9d, byte [rbp + 0x1c]
movzx r8d, byte [rbp + 0x1d]
movzx edx, byte [rbp + 0x1e]
movzx ecx, byte [rbp + 0x1f]
mov dword [rbp - 0x80], eax
mov byte [rsp + 0x70], al
movzx eax, byte [rbp + 0x11]
mov dword [rbp - 0x7c], eax
mov byte [rsp + 0x71], al
movzx eax, byte [rbp + 0x12]
mov dword [rbp - 0x78], eax
mov byte [rsp + 0x72], al
movzx eax, byte [rbp + 0x13]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x73], al
movzx eax, byte [rbp - 0x40]
mov byte [rbp - 0x70], al
movzx eax, byte [rbp - 0x3f]
mov byte [rbp - 0x6f], al
movzx eax, byte [rbp - 0x3e]
mov byte [rbp - 0x6e], al
movzx eax, byte [rbp - 0x3d]
mov byte [rbp - 0x6d], al
movzx eax, byte [rbp - 0x3c]
mov byte [rbp - 0x6c], al
movzx eax, byte [rbp - 0x3b]
mov byte [rbp - 0x6b], al
movzx eax, byte [rbp - 0x3a]
mov byte [rbp - 0x6a], al
movzx eax, byte [rbp - 0x39]
mov byte [rbp - 0x69], al
movzx eax, byte [rbp - 0x38]
mov byte [rbp - 0x68], al
movzx eax, byte [rbp - 0x37]
mov byte [rbp - 0x67], al
movzx eax, byte [rbp - 0x36]
mov byte [rbp - 0x66], al
movzx eax, byte [rbp - 0x35]
mov byte [rbp - 0x65], al
movzx eax, byte [rbp - 0x34]
mov byte [rbp - 0x64], al
movzx eax, byte [rbp - 0x33]
mov byte [rbp - 0x63], al
movzx eax, byte [rbp - 0x32]
mov byte [rbp - 0x62], al
movzx eax, byte [rbp - 0x31]
mov byte [rbp - 0x61], al
mov eax, dword [rbx + 0x304]
mov byte [rsp + 0x74], r13b
mov byte [rsp + 0x75], r12b
mov byte [rsp + 0x76], r15b
mov byte [rsp + 0x77], r14b
mov byte [rsp + 0x78], sil
mov byte [rsp + 0x79], dil
mov byte [rsp + 0x7a], r11b
mov byte [rsp + 0x7b], r10b
mov byte [rsp + 0x7c], r9b
mov byte [rsp + 0x7d], r8b
mov byte [rsp + 0x7e], dl
mov byte [rsp + 0x7f], cl
cmp eax, 0xf
jne 0x18025c295
movdqa xmm2, xmmword [rsp + 0x70]
aesdec xmm2, xmmword [rbp - 0x70]
movdqa xmm0, xmm2
movdqa xmmword [rsp + 0x70], xmm2
psrldq xmm0, 0xf
movdqa xmm1, xmm2
movd ecx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xd
psrldq xmm1, 0xe
movd r8d, xmm0
movdqa xmm0, xmm2
movd edx, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 0xb
psrldq xmm1, 0xc
movd r10d, xmm0
movdqa xmm0, xmm2
movd r9d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 9
psrldq xmm1, 0xa
movd edi, xmm0
movdqa xmm0, xmm2
movd r11d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 7
psrldq xmm1, 8
movd r14d, xmm0
movdqa xmm0, xmm2
movd esi, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 5
psrldq xmm1, 6
movd r12d, xmm0
movdqa xmm0, xmm2
movd r15d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 3
psrldq xmm1, 4
movd eax, xmm0
movdqa xmm0, xmm2
movd r13d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 1
psrldq xmm1, 2
movd dword [rbp - 0x7c], xmm0
movd dword [rbp - 0x78], xmm1
movd dword [rbp - 0x80], xmm2
jmp 0x18025c3a4
cmp eax, 0x12
jne 0x18025c2a8
movdqa xmm2, xmmword [rsp + 0x70]
aesdeclast xmm2, xmmword [rbp - 0x70]
jmp 0x18025c2b7
cmp eax, 0x1b
jne 0x18025c3a0
aesimc xmm2, xmmword [rbp - 0x70]
movdqa xmm0, xmm2
movdqa xmmword [rsp + 0x70], xmm2
psrldq xmm0, 0xf
movdqa xmm1, xmm2
movd ecx, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 0xd
psrldq xmm1, 0xe
movd r8d, xmm0
movdqa xmm0, xmm2
movd edx, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 0xb
psrldq xmm1, 0xc
movd r10d, xmm0
movdqa xmm0, xmm2
movd r9d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 9
psrldq xmm1, 0xa
movd edi, xmm0
movdqa xmm0, xmm2
movd r11d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 7
psrldq xmm1, 8
movd r14d, xmm0
movdqa xmm0, xmm2
movd esi, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 5
psrldq xmm1, 6
movd r12d, xmm0
movdqa xmm0, xmm2
movd r15d, xmm1
movdqa xmm1, xmm2
psrldq xmm0, 3
movd eax, xmm0
movdqa xmm0, xmm2
psrldq xmm1, 4
movd r13d, xmm1
movdqa xmm1, xmm2
mov byte [rsp + 0x64], al
psrldq xmm1, 2
movd eax, xmm1
psrldq xmm0, 1
mov byte [rbp - 0x78], al
movd eax, xmm0
mov byte [rbp - 0x7c], al
movd eax, xmm2
mov byte [rbp - 0x80], al
nop dword [rax]
mov eax, dword [rsp + 0x64]
mov ebx, dword [rbp - 0x80]
mov byte [rbp + 0x10], bl
mov ebx, dword [rbp - 0x7c]
mov byte [rbp + 0x11], bl
mov ebx, dword [rbp - 0x78]
mov byte [rbp + 0x12], bl
mov rbx, qword [rbp - 0x60]
mov byte [rbp + 0x1d], r8b
lea r8, [rbp + 0x10]
mov byte [rbp + 0x1e], dl
xor edx, edx
mov byte [rbp + 0x1f], cl
mov rcx, rbx
mov byte [rbp + 0x13], al
mov byte [rbp + 0x14], r13b
mov byte [rbp + 0x15], r12b
mov byte [rbp + 0x16], r15b
mov byte [rbp + 0x17], r14b
mov byte [rbp + 0x18], sil
mov byte [rbp + 0x19], dil
mov byte [rbp + 0x1a], r11b
mov byte [rbp + 0x1b], r10b
mov byte [rbp + 0x1c], r9b
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
lea r15, [0x180000000]
xor r12d, r12d
mov r13d, 0x80000000
jmp case.0x18025dcc4.1548
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp]
cmp eax, 1
jne 0x18025c534
cmp dword [rbx + 0x304], 0x88
movsx r10, word [rbx + 0x358]
jne 0x18025c494
movzx edx, byte [rbp - 0x40]
test dl, dl
je 0x18025d718
movzx eax, r10w
shr rax, 8
cmp rax, rdx
jae 0x18025d718
mov r8d, edx
movzx ecx, r10w
xor edx, edx
mov eax, ecx
div r8d
xor edx, edx
mov byte [rbp + 0x60], al
mov eax, ecx
div r8d
mov byte [rbp + 0x61], dl
movzx eax, word [rbp + 0x60]
mov word [rbx + 0x358], ax
jmp case.0x18025dcc4.1548
movsx rsi, byte [rbp - 0x40]
movzx r11d, r10w
shr r11w, 0xf
mov rdi, rsi
shr rdi, 0x3f
mov r9, r10
neg r9
mov r8, rsi
test r11b, r11b
cmove r9, r10
neg r8
test dil, dil
cmove r8, rsi
test r8, r8
je 0x18025d718
mov rax, r9
shr rax, 8
movzx eax, al
cmp rax, r8
jae 0x18025d718
xor edx, edx
mov rax, r9
div r8
mov rcx, rax
and eax, 0x80
cmp dil, r11b
je 0x18025c50f
test rax, rax
je 0x18025c518
cmp rcx, 0x80
je 0x18025c518
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
test rax, rax
jne 0x18025d718
mov eax, r10d
cdq
idiv esi
mov byte [rbp + 0x60], al
mov byte [rbp + 0x61], dl
movzx eax, word [rbp + 0x60]
mov word [rbx + 0x358], ax
jmp case.0x18025dcc4.1548
cmp eax, 2
jne 0x18025c642
movzx r8d, word [rbx + 0x368]
movzx eax, word [rbx + 0x358]
shl r8d, 0x10
or r8d, eax
cmp dword [rbx + 0x304], 0x88
jne 0x18025c591
movzx edx, word [rbp - 0x40]
test rdx, rdx
je 0x18025d718
mov eax, r8d
shr rax, 0x10
cmp rax, rdx
jae 0x18025d718
mov ecx, edx
mov eax, r8d
xor edx, edx
div ecx
mov r9d, eax
mov word [rbp + 0x60], ax
jmp 0x18025c62a
movsx rsi, word [rbp - 0x40]
mov r11d, r8d
shr r11d, 0x1f
mov rdi, rsi
shr rdi, 0x3f
mov r9, rsi
movsxd rax, r8d
mov r10, rax
neg r10
test r11b, r11b
cmove r10, rax
neg r9
test dil, dil
cmove r9, rsi
test r9, r9
je 0x18025d718
mov rax, r10
shr rax, 0x10
movzx eax, ax
cmp rax, r9
jae 0x18025d718
xor edx, edx
mov rax, r10
div r9
mov rcx, rax
and eax, 0x8000
cmp dil, r11b
je 0x18025c60d
test rax, rax
je 0x18025c616
cmp rcx, 0x8000
je 0x18025c616
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
test rax, rax
jne 0x18025d718
mov eax, r8d
cdq
idiv esi
movzx r9d, ax
mov word [rbp + 0x60], ax
mov eax, r8d
cdq
idiv esi
mov word [rbp + 0x62], dx
mov word [rbx + 0x368], dx
mov word [rbx + 0x358], r9w
jmp case.0x18025dcc4.1548
cmp eax, 4
jne case.0x18025dcc4.1548
mov ecx, dword [rbx + 0x368]
mov eax, dword [rbx + 0x358]
shl rcx, 0x20
or rcx, rax
cmp dword [rbx + 0x304], 0x88
jne 0x18025c69a
mov r8d, dword [rbp - 0x40]
test r8, r8
je 0x18025d718
mov rax, rcx
shr rax, 0x20
cmp rax, r8
jae 0x18025d718
xor edx, edx
mov rax, rcx
div r8
mov r8, rax
mov dword [rbp + 0x60], eax
jmp 0x18025c724
movsxd rdi, dword [rbp - 0x40]
mov r10, rcx
mov r11, rdi
shr r10, 0x3f
shr r11, 0x3f
mov r8, rdi
mov r9, rcx
test r10b, r10b
je 0x18025c6ba
neg r9
test r11b, r11b
je 0x18025c6c2
neg r8
test r8, r8
je 0x18025d718
mov rax, r9
shr rax, 0x20
cmp rax, r8
jae 0x18025d718
xor edx, edx
mov rax, r9
div r8
mov r8, rax
and rax, r13
xor r10b, r11b
je 0x18025c705
test rax, rax
je 0x18025c70e
cmp r8, r13
je 0x18025c70e
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
test rax, rax
jne 0x18025d718
mov rax, rcx
cqo
idiv rdi
mov r8, rax
mov dword [rbp + 0x60], eax
mov rax, rcx
cqo
idiv rdi
mov eax, edx
mov qword [rbx + 0x368], rax
mov eax, r8d
mov qword [rbx + 0x358], rax
mov dword [rbp + 0x64], edx
jmp case.0x18025dcc4.1548
cmp eax, 0x20d
jg 0x18025ceb8
je case.0x18025dcc4.1552
sub eax, 0x10a
cmp eax, 0x8d
ja case.0x18025dcc4.1554
cdqe
movzx eax, byte [r15 + rax + 0x25e0d4]
mov ecx, dword [r15 + rax*4 + 0x25e07c]
add rcx, r15
jmp rcx
cmp byte [rbx + 0xd43], 0
je case.0x18025dcc4.1552
mov eax, 9
jmp 0x18025bae2
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp]
cmp eax, 1
jne 0x18025c7e7
test byte [rbp - 0x40], 0x80
je 0x18025befe
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x18025bad0
cmp eax, 2
jne 0x18025c7f5
mov rax, qword [rbp - 0x40]
jmp 0x18025bf18
cmp eax, 4
mov rax, qword [rbp - 0x40]
jmp 0x18025bf45
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 5
lea rdx, [r8 + 1]
jmp 0x18025bca2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
not qword [rbp + 0x10]
lea r8, [rbp + 0x10]
jmp 0x18025bad0
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp]
lea r8, [rbp + 0x60]
mov dword [rbp + 0x50], eax
xor edx, edx
mov dword [rbp + 0xa0], eax
mov rcx, rbx
mov rax, qword [rbp - 0x40]
neg rax
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x60], rax
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp + 0xa0]
mov rcx, rbx
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x60]
mov byte [rsp + 0x28], 4
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
cmp qword [rbp - 0x40], 0
mov rax, qword [rbx + 0x3e0]
je 0x18025c8d4
or rax, 1
mov qword [rbx + 0x3e0], rax
jmp case.0x18025dcc4.1548
and rax, 0xfffffffffffffffe
mov qword [rbx + 0x3e0], rax
jmp case.0x18025dcc4.1548
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18025e320
test al, al
je case.0x18025dcc4.1548
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x18025bad2
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp qword [rbp + 0x100], 0
jne case.0x18025dcc4.1548
lea r8, [rbp + 0xb0]
mov edx, 2
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 2
jmp 0x18025bad2
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 1]
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
cmp qword [rbp + 0x100], 0
jbe case.0x18025dcc4.1548
mov ecx, dword [rbx + 0x304]
cmp ecx, 0x14a
jne 0x18025ca02
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
je 0x18025c95a
jmp case.0x18025dcc4.1548
cmp ecx, 0x14b
jne 0x18025ca1c
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
jne 0x18025c95a
cmp ecx, 0x149
jmp 0x18025c954
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
jmp 0x18025be5f
movzx eax, word [rbx + 0x70]
jmp 0x18025d6fe
xor edx, edx
mov rcx, rbx
cmp byte [rbx + 0x4f], 3
jae 0x18025ca64
lea r8, [rbp + 0x10]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea edx, [rax + 1]
jmp 0x18025ca8f
lea r8, [rbp + 0x60]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea edx, [rax + 2]
lea r8, [rbp - 0x40]
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov edi, dword [rbp + 0x50]
cmp edi, 1
jne 0x18025caf7
cmp dword [rbx + 0x304], 0x18c
jne 0x18025cad2
movzx r8d, byte [rbp + 0x10]
movzx eax, byte [rbp - 0x40]
imul r8d, eax
mov word [rbp + 0x60], r8w
mov r11, qword [rbp + 0x60]
jmp 0x18025cc68
movsx eax, byte [rbp - 0x40]
movsx ecx, byte [rbp + 0x10]
movzx edx, ax
movzx eax, cx
imul eax, edx
mov word [rbp + 0x60], ax
movzx r8d, ax
mov r11, qword [rbp + 0x60]
mov rcx, r11
jmp 0x18025cc6b
cmp edi, 2
jne 0x18025cb3e
cmp dword [rbx + 0x304], 0x18c
jne 0x18025cb23
movzx ecx, word [rbp + 0x10]
movzx eax, word [rbp - 0x40]
imul ecx, eax
mov dword [rbp + 0x60], ecx
mov r11, qword [rbp + 0x60]
movzx r8d, r11w
jmp 0x18025cc6b
movsx ecx, word [rbp + 0x10]
movsx eax, word [rbp - 0x40]
imul ecx, eax
mov dword [rbp + 0x60], ecx
mov r11, qword [rbp + 0x60]
movzx r8d, r11w
jmp 0x18025cc6b
mov eax, dword [rbx + 0x304]
cmp edi, 4
jne 0x18025cb77
cmp eax, 0x18c
jne 0x18025cb62
mov r11, qword [rbp - 0x40]
imul r11, qword [rbp + 0x10]
mov qword [rbp + 0x60], r11
jmp 0x18025cc64
movsxd r11, dword [rbp + 0x10]
movsxd rax, dword [rbp - 0x40]
imul r11, rax
mov qword [rbp + 0x60], r11
jmp 0x18025cc64
cmp eax, 0x18c
mov eax, dword [rbp + 0x10]
jne 0x18025cbe5
mov r9d, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x40]
mov r10d, r9d
mov rdx, qword [rbp + 0x10]
imul r10, rax
shr rcx, 0x20
shr rdx, 0x20
mov r8, rcx
imul r8, rax
imul r9, rdx
imul rcx, rdx
mov eax, r8d
lea r11, [r9 + r8]
shr r8, 0x20
shl r11, 0x20
add r11, r10
shr r10, 0x20
add r10, rax
mov qword [rbp + 0x60], r11
mov eax, r9d
add r10, rax
shr r9, 0x20
shr r10, 0x20
add r10, rcx
add r10, r9
add r10, r8
mov qword [rbp + 0x68], r10
jmp 0x18025cc64
mov r14, qword [rbp + 0x10]
mov r10d, dword [rbp - 0x40]
mov r8, r14
mov rsi, qword [rbp - 0x40]
mov r9d, r10d
imul r9, rax
shr r8, 0x20
mov rcx, rsi
imul r10, r8
shr rcx, 0x20
mov rdx, rcx
imul rdx, rax
imul rcx, r8
lea r11, [r10 + rdx]
mov eax, edx
shl r11, 0x20
add r11, r9
shr rdx, 0x20
shr r9, 0x20
add r9, rax
mov qword [rbp + 0x60], r11
mov eax, r10d
add rax, r9
shr r10, 0x20
shr rax, 0x20
add rax, rcx
add rax, r10
add rax, rdx
mov qword [rbp + 0x68], rax
test r14, r14
jns 0x18025cc58
sub rax, rsi
mov qword [rbp + 0x68], rax
test rsi, rsi
jns 0x18025cc64
sub rax, r14
mov qword [rbp + 0x68], rax
movzx r8d, r11w
mov ecx, r11d
cmp byte [rbx + 0x4f], 1
jne 0x18025cccc
mov eax, edi
sub eax, 1
je 0x18025ccc2
sub eax, 1
je 0x18025ccb4
sub eax, 2
je 0x18025cc9b
cmp eax, 4
jne 0x18025cce9
mov rax, qword [rbp + 0x68]
mov qword [rbx + 0x368], rax
mov qword [rbx + 0x358], r11
jmp 0x18025cce9
mov rax, r11
shr rax, 0x20
mov qword [rbx + 0x368], rax
mov eax, ecx
mov qword [rbx + 0x358], rax
jmp 0x18025cce9
mov rax, r11
shr rax, 0x10
mov word [rbx + 0x368], ax
mov word [rbx + 0x358], r8w
jmp 0x18025cce9
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
mov r11, qword [rbp + 0x60]
mov edi, dword [rbp + 0x50]
xor r8b, r8b
cmp dword [rbx + 0x304], 0x18c
jne 0x18025cd46
sub edi, 1
je 0x18025cd20
sub edi, 1
je 0x18025cd19
sub edi, 2
je 0x18025cd13
cmp edi, 4
jne 0x18025cd28
cmp qword [rbp + 0x68], 0
jmp 0x18025cd24
cmp dword [rbp + 0x64], 0
jmp 0x18025cd24
cmp r12w, word [rbp + 0x62]
jmp 0x18025cd24
cmp byte [rbp + 0x61], r8b
setne r8b
mov rcx, qword [rbx + 0x3e0]
mov rax, rcx
or rcx, 1
and rax, 0xfffffffffffffffe
test r8b, r8b
cmove rcx, rax
jmp 0x18025ce04
mov eax, dword [rbp + 0xa0]
cmp eax, 1
jne 0x18025cd5f
movzx r11d, byte [rbp + 0x60]
shr r11b, 7
and r11b, al
jmp 0x18025cd81
cmp eax, 2
jne 0x18025cd6e
shr r11, 0xf
and r11b, 1
jmp 0x18025cd81
cmp eax, 4
jne 0x18025cd7d
shr r11, 0x1f
and r11b, 1
jmp 0x18025cd81
shr r11, 0x3f
sub edi, 1
je 0x18025cde9
sub edi, 1
je 0x18025cdb9
sub edi, 2
je 0x18025cda8
cmp edi, 4
jne 0x18025cddb
cmp qword [rbp + 0x68], 0
jne 0x18025cda1
test r11b, r11b
jmp 0x18025cdd6
cmp qword [rbp + 0x68], 0xffffffffffffffff
jmp 0x18025cdd0
mov eax, dword [rbp + 0x64]
test eax, eax
jne 0x18025cdb4
test r11b, r11b
jmp 0x18025cdd6
cmp eax, 0xffffffff
jmp 0x18025cdd0
movzx eax, word [rbp + 0x62]
cmp r12w, ax
jne 0x18025cdc8
test r11b, r11b
jmp 0x18025cdd6
mov ecx, 0xffff
cmp cx, ax
jne 0x18025cdd8
cmp r11b, 1
je 0x18025ce31
mov r8b, 1
mov rcx, qword [rbx + 0x3e0]
test r8b, r8b
je 0x18025ce38
jmp 0x18025ce00
movzx eax, byte [rbp + 0x61]
test al, al
jne 0x18025ce27
test r11b, r11b
je 0x18025ce31
mov rcx, qword [rbx + 0x3e0]
mov r8b, 1
or rcx, 1
mov rax, rcx
mov rdx, rcx
btr rax, 0xb
bts rdx, 0xb
test r8b, r8b
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
jmp case.0x18025dcc4.1548
cmp al, 0xff
jne 0x18025cdf6
cmp r11b, 1
jne 0x18025cdf6
mov rcx, qword [rbx + 0x3e0]
and rcx, 0xfffffffffffffffe
jmp 0x18025ce04
movzx eax, byte [rbx + 0x3e0]
mov byte [rbx + 0x359], al
jmp case.0x18025dcc4.1548
inc dword [rbx + 0xd7c]
jmp case.0x18025dcc4.1548
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180264da0
jmp case.0x18025dcc4.1552
mov rax, qword [rbx + 0x40]
cmp rax, 0x80
je case.0x18025ceef.550
cmp rax, 0x2e
jne 0x18025ce89
or qword [rbx + 0xd98], 0x10
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
cmp edx, 0x11c
jne case.0x18025babb.7
lea r8, [rbp - 0x40]
mov rcx, rbx
jmp 0x18025d6c5
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
jmp 0x18025d6ca
cmp eax, 0x432
jg 0x18025db3c
je case.0x18025db71.1076
sub eax, 0x20e
cmp eax, 0xa7
ja case.0x18025dcc4.1554
cdqe
movzx eax, byte [r15 + rax + 0x25e1d0]
mov ecx, dword [r15 + rax*4 + 0x25e164]
add rcx, r15
jmp rcx
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18025e320
test al, al
mov qword [rbp - 0x40], 1
mov eax, dword [rbx + 0x60]
mov dword [rbp], eax
jne 0x18025bacc
mov qword [rbp - 0x40], r12
jmp 0x18025bacc
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp dword [rbx + 0x304], 0x272
mov r9, qword [rbp - 0x40]
jne 0x18025cf69
mov eax, dword [rbx + 0x3e0]
and eax, 1
add r9, rax
mov qword [rbp - 0x40], r9
mov eax, dword [rbp]
mov rcx, rbx
mov r8, qword [rbp + 0x10]
mov rdx, r8
mov byte [rsp + 0x28], 4
sub rdx, r9
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x60], rdx
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
cmp dword [rbx + 0x304], 0x5c
je case.0x18025dcc4.1548
lea r8, [rbp + 0x60]
jmp 0x18025bad0
mov eax, 0x20
lea r8, [rbp - 0x40]
mov dword [rbp], eax
mov edx, 1
mov eax, dword [rbx + 0x358]
mov dword [rbp - 0x24], eax
mov eax, dword [rbx + 0x360]
mov dword [rbp - 0x28], eax
mov eax, dword [rbx + 0x368]
mov dword [rbp - 0x2c], eax
mov eax, dword [rbx + 0x370]
mov dword [rbp - 0x30], eax
mov eax, dword [rbx + 0x378]
mov dword [rbp - 0x34], eax
mov eax, dword [rbx + 0x380]
mov dword [rbp - 0x38], eax
mov eax, dword [rbx + 0x388]
mov dword [rbp - 0x3c], eax
mov eax, dword [rbx + 0x390]
mov dword [rbp - 0x40], eax
jmp 0x18025bad2
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp - 0x24]
mov qword [rbx + 0x358], rax
mov eax, dword [rbp - 0x28]
mov qword [rbx + 0x360], rax
mov eax, dword [rbp - 0x2c]
mov qword [rbx + 0x368], rax
mov eax, dword [rbp - 0x30]
mov qword [rbx + 0x370], rax
mov eax, dword [rbp - 0x34]
mov qword [rbx + 0x378], rax
mov eax, dword [rbp - 0x38]
mov qword [rbx + 0x380], rax
mov eax, dword [rbp - 0x3c]
mov qword [rbx + 0x388], rax
mov eax, dword [rbp - 0x40]
mov qword [rbx + 0x390], rax
jmp case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp + 0x50]
mov rcx, qword [rbp - 0x40]
cmp eax, 8
jne 0x18025d0b1
and ecx, 0x3f
jmp 0x18025d0b4
and ecx, 0x1f
mov r9d, dword [rbx + 0x304]
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0xa0], eax
cmp r9d, 0x284
je 0x18025d16d
cmp r9d, 0x26d
je 0x18025d16d
mov r8, qword [rbp + 0x10]
cmp r9d, 0x287
jne 0x18025d0f7
mov rdx, r8
shr rdx, cl
jmp 0x18025d177
cmp eax, 1
jne 0x18025d11a
test byte [rbp + 0x10], 0x80
je 0x18025d111
mov rdx, r8
or rdx, 0xffffffffffffff00
sar rdx, cl
jmp 0x18025d177
movzx edx, r8b
sar rdx, cl
jmp 0x18025d177
cmp eax, 2
jne 0x18025d13e
bt r8, 0xf
jae 0x18025d135
mov rdx, r8
or rdx, 0xffffffffffff0000
sar rdx, cl
jmp 0x18025d177
movzx edx, r8w
sar rdx, cl
jmp 0x18025d177
cmp eax, 4
jne 0x18025d165
test r13, r8
je 0x18025d15d
mov rdx, r8
movabs r10, 0xffffffff00000000
or rdx, r10
sar rdx, cl
jmp 0x18025d177
mov edx, r8d
sar rdx, cl
jmp 0x18025d177
mov rdx, r8
sar rdx, cl
jmp 0x18025d177
mov r8, qword [rbp + 0x10]
mov rdx, r8
shl rdx, cl
mov qword [rbp + 0x60], rdx
test rcx, rcx
je 0x18025d1e3
cmp r9d, 0x284
je 0x18025d1cf
cmp r9d, 0x26d
je 0x18025d1cf
cmp r9d, 0x287
mov r9, rcx
mov rcx, rbx
jne 0x18025d1b8
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
lea r8, [rbp + 0x60]
jmp 0x18025bad0
mov byte [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
lea r8, [rbp + 0x60]
jmp 0x18025bad0
mov r9, rcx
mov byte [rsp + 0x28], 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
lea r8, [rbp + 0x60]
jmp 0x18025bad0
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
xor dil, dil
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov r10d, dword [rbp + 0x50]
mov r14d, 0x1f
mov r8d, dword [rbx + 0x304]
cmp r10d, 8
mov eax, 0x3f
mov r9d, r12d
cmove r14d, eax
cmp r8d, 0x249
je 0x18025d299
cmp r8d, 0x24c
je 0x18025d299
mov esi, dword [rbp - 0x40]
lea ecx, [r10*8]
mov eax, esi
xor edx, edx
and eax, r14d
div ecx
mov r9d, edx
cmp r8d, 0x25d
mov r8, qword [rbp + 0x10]
jne 0x18025d57c
test r9d, r9d
je 0x18025d4e4
mov rax, r8
cmp r10d, 1
jne 0x18025d4b0
shr rax, 7
and eax, r10d
jmp 0x18025d4d2
mov esi, dword [rbp - 0x40]
mov eax, r10d
sub eax, 1
je 0x18025d2dc
sub eax, 1
je 0x18025d2c5
sub eax, 2
je 0x18025d2bc
cmp eax, 4
jne 0x18025d2f3
mov r9d, esi
and r9d, 0x3f
jmp 0x18025d2f3
mov r9d, esi
and r9d, 0x1f
jmp 0x18025d2f3
mov r9d, esi
mov eax, 0xf0f0f0f1
and r9d, 0x1f
mul r9d
shr edx, 4
imul eax, edx, 0x11
jmp 0x18025d2f0
mov r9d, esi
mov eax, 0x38e38e39
and r9d, 0x1f
mul r9d
shr edx, 1
lea eax, [rdx + rdx*8]
sub r9d, eax
cmp r8d, 0x249
jne 0x18025d3e0
mov r8, qword [rbp + 0x10]
lea r11, [rbx + 0x3e0]
test r9d, r9d
je 0x18025d372
mov rdx, qword [r11]
cmp r10d, 1
jne 0x18025d325
movzx ecx, r8b
shr cl, 7
and cl, r10b
jmp 0x18025d34a
mov rcx, r8
cmp r10d, 2
jne 0x18025d337
shr rcx, 0xf
and cl, 1
jmp 0x18025d34a
cmp r10d, 4
jne 0x18025d346
shr rcx, 0x1f
and cl, 1
jmp 0x18025d34a
shr rcx, 0x3f
mov rax, rdx
and eax, 1
lea r8, [rax + r8*2]
mov rax, rdx
and rax, 0xfffffffffffffffe
or rdx, 1
test cl, cl
cmove rdx, rax
add r9d, 0xffffffff
jne 0x18025d313
mov qword [rbp + 0x10], r8
mov qword [r11], rdx
and esi, r14d
cmp esi, 1
jne 0x18025d66b
cmp r10d, esi
jne 0x18025d38c
shr r8, 7
and r8d, esi
jmp 0x18025d3b7
cmp r10d, 2
jne 0x18025d39c
shr r8, 0xf
and r8d, 1
jmp 0x18025d3b7
cmp r10d, 4
jne 0x18025d3b3
shr r8, 0x1f
lea r11, [rbx + 0x3e0]
and r8d, 1
jmp 0x18025d3b7
shr r8, 0x3f
mov rdx, qword [r11]
mov rcx, rdx
mov rax, rdx
btr rax, 0xb
bts rdx, 0xb
and ecx, 1
cmp rcx, r8
lea r8, [rbp + 0x10]
cmove rdx, rax
mov qword [r11], rdx
jmp 0x18025bad0
cmp r8d, 0x24c
jne 0x18025d266
mov r11, qword [rbp + 0x10]
and esi, r14d
cmp esi, 1
jne 0x18025d456
mov r8, r11
cmp r10d, esi
jne 0x18025d40a
shr r8, 7
and r8d, esi
jmp 0x18025d42e
cmp r10d, 2
jne 0x18025d41a
shr r8, 0xf
and r8d, 1
jmp 0x18025d42e
cmp r10d, 4
jne 0x18025d42a
shr r8, 0x1f
and r8d, 1
jmp 0x18025d42e
shr r8, 0x3f
mov rdx, qword [rbx + 0x3e0]
mov rcx, rdx
mov rax, rdx
btr rax, 0xb
bts rdx, 0xb
and ecx, 1
cmp rcx, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
test r9d, r9d
je 0x18025d66b
lea ecx, [r10*8 - 1]
mov r10, qword [rbx + 0x3e0]
nop
mov rdx, r10
movzx r8d, r11b
and edx, 1
shr r11, 1
shl rdx, cl
mov rax, r10
and rax, 0xfffffffffffffffe
or r10, 1
add r11, rdx
test r8b, 1
cmove r10, rax
add r9d, 0xffffffff
jne 0x18025d470
mov qword [rbp + 0x10], r11
lea r8, [rbp + 0x10]
mov qword [rbx + 0x3e0], r10
jmp 0x18025bad0
cmp r10d, 2
jne 0x18025d4bf
shr rax, 0xf
and eax, 1
jmp 0x18025d4d2
cmp r10d, 4
jne 0x18025d4ce
shr rax, 0x1f
and eax, 1
jmp 0x18025d4d2
shr rax, 0x3f
lea r8, [rax + r8*2]
add r9d, 0xffffffff
jne 0x18025d280
mov qword [rbp + 0x10], r8
lea r9, [rbx + 0x3e0]
and esi, r14d
je 0x18025d509
mov rdx, qword [r9]
mov rax, rdx
or rdx, 1
and rax, 0xfffffffffffffffe
test r8b, 1
cmove rdx, rax
mov qword [r9], rdx
cmp esi, 1
jne 0x18025d66b
cmp r10d, esi
jne 0x18025d52b
mov rdx, qword [r9]
shr r8, 7
mov rcx, rdx
and r8d, esi
and ecx, esi
jmp 0x18025d654
cmp r10d, 2
jne 0x18025d547
mov rdx, qword [r9]
shr r8, 0xf
mov rcx, rdx
and r8d, 1
and ecx, 1
jmp 0x18025d654
cmp r10d, 4
jne 0x18025d56a
shr r8, 0x1f
lea r9, [rbx + 0x3e0]
mov rdx, qword [r9]
and r8d, 1
mov rcx, rdx
and ecx, 1
jmp 0x18025d654
mov rdx, qword [r9]
mov rcx, rdx
shr r8, 0x3f
and ecx, 1
jmp 0x18025d654
test r9d, r9d
je 0x18025d5ae
lea ecx, [r10*8 - 1]
nop dword [rax]
mov rdi, r8
shr r8, 1
and dil, 1
movzx edx, dil
shl rdx, cl
add r8, rdx
add r9d, 0xffffffff
jne 0x18025d590
mov qword [rbp + 0x10], r8
and esi, r14d
je 0x18025d608
mov rdx, r8
cmp r10d, 1
jne 0x18025d5c5
shr rdx, 7
and edx, r10d
jmp 0x18025d5e7
cmp r10d, 2
jne 0x18025d5d4
shr rdx, 0xf
and edx, 1
jmp 0x18025d5e7
cmp r10d, 4
jne 0x18025d5e3
shr rdx, 0x1f
and edx, 1
jmp 0x18025d5e7
shr rdx, 0x3f
lea r9, [rbx + 0x3e0]
mov rcx, qword [r9]
mov rax, rcx
or rcx, 1
and rax, 0xfffffffffffffffe
test rdx, rdx
cmove rcx, rax
mov qword [r9], rcx
jmp 0x18025d60f
lea r9, [rbx + 0x3e0]
cmp esi, 1
jne 0x18025d66b
cmp r10d, esi
jne 0x18025d622
shr r8, 7
and r8d, esi
jmp 0x18025d64d
cmp r10d, 2
jne 0x18025d632
shr r8, 0xf
and r8d, 1
jmp 0x18025d64d
cmp r10d, 4
jne 0x18025d649
shr r8, 0x1f
lea r9, [rbx + 0x3e0]
and r8d, 1
jmp 0x18025d64d
shr r8, 0x3f
mov rdx, qword [r9]
movzx ecx, dil
mov rax, rdx
bts rdx, 0xb
btr rax, 0xb
cmp rcx, r8
cmove rdx, rax
mov qword [r9], rdx
lea r8, [rbp + 0x10]
jmp 0x18025bad0
test byte [rbx + 9], 4
lea r8, [rbp - 0x40]
mov rcx, rbx
je 0x18025bb57
mov edx, 3
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
jmp 0x18025c95a
cmp dword [rbx + 0x58], 3
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 3
je 0x18025d6ca
mov edx, 2
call fcn.18025e520
test eax, eax
jne 0x18025bae2
movzx eax, byte [rbx + 0xd]
and al, 0xf
cmp al, 2
je 0x18025d6fa
cmp al, 4
je 0x18025d6f4
cmp al, 8
je 0x18025d6ee
mov eax, r12d
jmp 0x18025d6fe
movzx eax, word [rbp - 0x38]
jmp 0x18025d6fe
movzx eax, word [rbp - 0x3c]
jmp 0x18025d6fe
movzx eax, word [rbp - 0x3e]
cmp byte [rbx + 0xd42], 1
jne 0x18025d718
cmp ax, 0x33
jne 0x18025d718
or qword [rbx + 0xd98], 0x80
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x18025dcc4.1548
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp byte [rbx + 7], al
jge 0x18025d76f
cmp qword [rbp + 0x100], 0
je case.0x18025dcc4.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
cmp byte [rbx + 7], al
jge case.0x18025dcc4.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 2]
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x18025d740
jmp case.0x18025dcc4.1548
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x18025dcc4.1548
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp byte [rbx + 7], al
jge 0x18025d82f
cmp qword [rbp + 0x100], 0
je case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp + 0x50]
mov rcx, rbx
mov r8, qword [rbp + 0x10]
mov r9, qword [rbp - 0x40]
mov rdx, r8
sub rdx, r9
mov byte [rsp + 0x28], 4
mov qword [rbp + 0x60], rdx
mov dword [rbp + 0xa0], eax
mov dword [rsp + 0x20], eax
call fcn.18025ecd0
cmp byte [rbx + 7], 0
jge case.0x18025dcc4.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
movzx eax, byte [rbx + 7]
test al, 0x20
je 0x18025d8ca
test byte [rbx + 0x3e0], 0x40
je case.0x18025dcc4.1548
test al, 0x10
je 0x18025d8db
test byte [rbx + 0x3e0], 0x40
jne case.0x18025dcc4.1548
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x18025d800
jmp case.0x18025dcc4.1548
or qword [rbx + 0x3e0], 0x400
jmp case.0x18025dcc4.1548
or qword [rbx + 0x3e0], 1
jmp case.0x18025dcc4.1548
cmp byte [rbx + 0xd43], 0
jne 0x18025c785
or qword [rbx + 0x3e0], 0x200
jmp case.0x18025dcc4.1548
movzx eax, byte [rbx + 0x359]
and al, 0xd7
or al, 2
mov byte [rbx + 0x3e0], al
jmp case.0x18025dcc4.1548
movzx eax, byte [rbx + 0x3e0]
and al, 1
neg al
sbb al, al
mov byte [rbx + 0x358], al
jmp case.0x18025dcc4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
cmp dword [rbp + 0x50], 8
je 0x18025d9c7
movzx eax, byte [rbp - 0x39]
mov byte [rbp + 0x1f], al
movzx eax, byte [rbp + 0x17]
mov byte [rbp + 0x1e], al
movzx eax, byte [rbp - 0x3a]
mov byte [rbp + 0x1d], al
movzx eax, byte [rbp + 0x16]
mov byte [rbp + 0x1c], al
movzx eax, byte [rbp - 0x3b]
mov byte [rbp + 0x1b], al
movzx eax, byte [rbp + 0x15]
mov byte [rbp + 0x1a], al
movzx eax, byte [rbp - 0x3c]
mov byte [rbp + 0x19], al
mov byte [rbp + 0x18], al
movzx eax, byte [rbp - 0x3d]
lea r8, [rbp + 0x10]
mov byte [rbp + 0x17], al
movzx eax, byte [rbp + 0x13]
mov byte [rbp + 0x16], al
movzx eax, byte [rbp - 0x3e]
mov byte [rbp + 0x15], al
movzx eax, byte [rbp + 0x12]
mov byte [rbp + 0x14], al
movzx eax, byte [rbp - 0x3f]
mov byte [rbp + 0x13], al
movzx eax, byte [rbp + 0x11]
mov byte [rbp + 0x12], al
movzx eax, byte [rbp - 0x40]
mov byte [rbp + 0x11], al
jmp 0x18025bad0
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x18025bdc8
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp + 0x10]
add rcx, rax
inc edx
movzx eax, byte [rbp + rax - 0x40]
xor byte [rcx], al
cmp edx, dword [rbp + 0x50]
jb 0x18025da40
lea r8, [rbp + 0x10]
jmp 0x18025bad0
cmp byte [rbx + 0xd43], 0
jne 0x18025c785
or qword [rbx + 0xd98], 0x20000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
cmp byte [rbx + 0xd43], 0
jne 0x18025c785
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x18025dab9
cmp byte [rbx + 0xd42], 2
je 0x18025daca
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
cmp rax, 0x176
jne 0x18025dad5
cmp byte [rbx + 0xd42], 1
jne 0x18025dad5
or qword [rbx + 0xd98], 0x40000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
cmp byte [rbx + 0xd43], 0
jne 0x18025daf6
or qword [rbx + 0xd98], 0x100000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
lea r8, [rbp - 0x40]
mov dword [rbp], 4
xor edx, edx
mov dword [rbp - 0x40], r14d
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
mov rax, r14
lea r8, [rbp - 0x40]
shr rax, 0x20
mov edx, 1
mov dword [rbp - 0x40], eax
jmp 0x18025bad2
cmp eax, 0x5ab
jg 0x18025dca0
je 0x18025dc39
sub eax, 0x434
cmp eax, 0x58
ja case.0x18025dcc4.1554
cdqe
movzx eax, byte [r15 + rax + 0x25e284]
mov ecx, dword [r15 + rax*4 + 0x25e278]
add rcx, r15
jmp rcx
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180264da0
xor edx, edx
lea rcx, [rbp + 0x10]
lea r8d, [rdx + 0x40]
call fcn.180264da0
lea r8, [rbp + 0x10]
mov dword [rbp + 0x50], 0x40
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
jmp case.0x18025dcc4.1552
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbx + 0x60]
xor edx, edx
mov r10d, dword [rbp]
mov r9d, r12d
mov dword [rbp + 0x50], eax
div r10d
test eax, eax
je 0x18025bdc8
mov r8, qword [rbp - 0x40]
nop word [rax + rax]
mov eax, r10d
mov ecx, r9d
sub eax, 1
je 0x18025dc1b
sub eax, 1
je 0x18025dc13
cmp eax, 2
je 0x18025dc0c
mov qword [rbp + rcx*8 + 0x10], r8
jmp 0x18025dc20
mov dword [rbp + rcx*4 + 0x10], r8d
jmp 0x18025dc20
mov word [rbp + rcx*2 + 0x10], r8w
jmp 0x18025dc20
mov byte [rbp + rcx + 0x10], r8b
mov eax, dword [rbp + 0x50]
xor edx, edx
div r10d
inc r9d
cmp r9d, eax
jb 0x18025dbf0
lea r8, [rbp + 0x10]
jmp 0x18025bad0
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x18025bdc8
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp + 0x10]
add rcx, rax
inc edx
movzx eax, byte [rbp + rax - 0x40]
xor byte [rcx], al
cmp edx, dword [rbp + 0x50]
jb 0x18025dc80
lea r8, [rbp + 0x10]
jmp 0x18025bad0
sub eax, 0x60c
cmp eax, 0x16
ja case.0x18025dcc4.1554
cdqe
movzx eax, byte [r15 + rax + 0x25e2fc]
mov ecx, dword [r15 + rax*4 + 0x25e2e0]
add rcx, r15
jmp rcx
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025f1d0
jmp 0x18025bb61
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbp + 0x50]
mov rcx, rbx
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 5
mov dword [rbp + 0xa0], eax
mov dword [rsp + 0x20], eax
lea rdx, [r9 + r8]
mov qword [rbp + 0x60], rdx
call fcn.18025ecd0
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
lea r8, [rbp + 0x60]
jmp 0x18025bad0
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18025e520
test eax, eax
jne 0x18025bae2
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18025e520
test eax, eax
jne 0x18025bae2
mov eax, dword [rbx + 0x304]
mov ecx, dword [rbp + 0x50]
mov dword [rbp + 0xa0], ecx
cmp eax, 0x197
jne 0x18025ddd5
mov rax, qword [rbp - 0x40]
or rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x18025de03
cmp eax, 0x622
jne 0x18025ddea
mov rax, qword [rbp - 0x40]
xor rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x18025de03
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp + 0x10]
mov rdx, r9
and rdx, r8
mov qword [rbp + 0x60], rdx
cmp eax, 0x2b5
je 0x18025de2b
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.18025f1d0
test eax, eax
jne 0x18025bae2
mov ecx, dword [rbp + 0xa0]
mov rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x10]
mov r9, qword [rbp - 0x40]
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.18025ecd0
jmp case.0x18025dcc4.1548
cmp byte [rbx + 0xd43], 0
jne 0x18025c785
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x18025de75
cmp byte [rbx + 0xd42], 2
je 0x18025de86
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
cmp rax, 0x176
jne 0x18025de91
cmp byte [rbx + 0xd42], 1
jne 0x18025de91
or qword [rbx + 0xd98], 0x80000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x18025ba5d
mov eax, 3
jmp 0x18025bae2
cmp eax, 0x80000001
je 0x18025deb9
mov eax, 4
jmp 0x18025bae2
mov eax, 2
jmp 0x18025bae2
mov eax, 0xa
jmp 0x18025bae2
lea edx, [rax + 1]
shr ecx, 1
mov dword [rbx + 0xd88], edx
cmp edx, ecx
jb 0x18025df07
imul edx, dword [rbx + 0xda4]
mov eax, 0x51eb851f
mul edx
shr edx, 5
cmp dword [rbx + 0xd7c], edx
jb 0x18025df07
or qword [rbx + 0xd98], 1
mov eax, 0xffffffff
jmp 0x18025bae2
xor eax, eax
jmp 0x18025bae2
mov eax, 7
jmp 0x18025bb02