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

Disassembly:
add al, byte [rcx + rcx*8 - 0x72b7148b]
jl 0x18002022d
sub rdi, rdx
lea eax, [rsp + 0x30]
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1e8]
sub rsp, 0x2e8
mov rax, qword [0x1804e1080]
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 rsi, 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 0x180272cfd
cmp qword [rcx + 0xd48], rax
je 0x180272cfd
cmp qword [rcx + 0xd50], rax
je 0x180272cfd
cmp qword [rcx + 0xd58], rax
je 0x180272cfd
mov eax, dword [rcx + 0xd74]
add eax, dword [rcx + 0xd70]
cmp eax, dword [rcx + 0xd78]
ja 0x180272cfd
cmp dword [rcx + 0xda4], 0
jne 0x1802704ac
mov dword [rcx + 0xda4], 0x4b
cmp dword [rcx + 0xda8], 0
jne 0x1802704bf
mov dword [rcx + 0xda8], 8
mov eax, dword [rcx + 0xd8c]
mov ecx, dword [rcx + 0xd88]
mov qword [rsp + 0x318], r12
mov qword [rsp + 0x320], r13
mov qword [rsp + 0x328], r14
mov qword [rsp + 0x2e0], r15
cmp ecx, eax
jae 0x180272cbd
lea r14, [rbx + 0xda0]
mov r13d, 0x80000000
xor r12d, r12d
lea r15, [0x180000000]
nop word [rax + rax]
lea eax, [rcx + 1]
mov qword [rbp - 0x50], r14
xor edx, edx
mov dword [rbx + 0xd88], eax
inc rsi
lea rcx, [rbp + 0x10]
mov qword [rbp - 0x58], rsi
lea r8d, [rdx + 0x48]
call fcn.180279be0
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x48]
call fcn.180279be0
xor edx, edx
lea rcx, [rbp + 0x60]
lea r8d, [rdx + 0x48]
call fcn.180279be0
xor edx, edx
lea rcx, [rbp + 0xb0]
lea r8d, [rdx + 0x48]
call fcn.180279be0
xor edx, edx
lea rcx, [rbp + 0x100]
lea r8d, [rdx + 0x48]
call fcn.180279be0
test dil, dil
jne 0x180272cb3
cmp qword [rbx + 0xd98], 0
je 0x180270593
mov eax, dword [r14]
test al, 2
jne 0x180272cec
mov rdi, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
cmp rdi, rcx
jb 0x180272ca9
mov edx, dword [rbx + 0xd70]
add rdx, rcx
cmp rdi, rdx
jae 0x180272ca9
lea rax, [rdi + 1]
cmp rax, rcx
jbe 0x180272ca9
cmp rax, rdx
ja 0x180272ca9
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.180274980
cmp eax, r13d
jae 0x180272c98
mov r11, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
movzx r9d, byte [rbx + 0xc]
cmp r11, rcx
jb 0x180272ca9
mov r8d, dword [rbx + 0xd70]
add r8, rcx
cmp r11, r8
jae 0x180272ca9
lea rdx, [r11 + r9]
cmp rdx, rcx
jbe 0x180272ca9
cmp rdx, r8
ja 0x180272ca9
mov r8d, r12d
test r9d, r9d
je 0x18027068e
mov r10, qword [rbx + 0xd58]
nop dword [rax + 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 0x180270686
inc r8d
cmp r8d, r9d
jb 0x180270660
jmp 0x18027068e
or qword [rbx + 0xd98], 4
test byte [r14], 1
je 0x180270888
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.180278e20
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.1802748e0
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.1802748e0
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.1802748e0
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.1802748e0
mov r9, qword [rbx + 0x3e0]
lea rdx, str.________RIP__0x_016llx_RFLAGS__0x_016llx
mov r8, qword [rbx + 0x3f0]
mov rcx, rbx
call fcn.1802748e0
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.1802748e0
mov r8, qword [rbx + 0x3f0]
lea r9, [rbp + 0x150]
lea rdx, str.Emulating:_0x_016llx__s_n
mov rcx, rbx
call fcn.1802748e0
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 0x1802708df
cmp dword [rbx + 0x304], 0xda
je 0x1802708df
mov qword [rbx + 0x438], rcx
movzx edi, byte [rsp + 0x60]
mov eax, dword [rbx + 0xd8c]
mov ecx, dword [rbx + 0xd88]
cmp ecx, eax
jae 0x180272cbd
mov rsi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x50]
jmp 0x180270510
mov edx, dword [rbx + 0x304]
mov eax, edx
cmp edx, 0x109
jg 0x18027158f
je case.0x18027091c.22
dec eax
cmp eax, 0xfa
ja case.0x180272ab4.1554
cdqe
movzx eax, byte [r15 + rax + 0x272d70]
mov ecx, dword [r15 + rax*4 + 0x272d08]
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.180273fc0
test eax, eax
je case.0x180272ab4.1548
mov r14, qword [rsp + 0x328]
mov r13, qword [rsp + 0x320]
mov r12, qword [rsp + 0x318]
mov r15, qword [rsp + 0x2e0]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.18027f9e0
add rsp, 0x2e8
pop rdi
pop rsi
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 0x18027092d
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.180273110
test al, al
je case.0x180272ab4.1548
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 1
call fcn.180273310
test eax, eax
jne 0x180270943
jmp 0x18027092d
lea r8, [rbp - 0x40]
mov edx, 2
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov rax, qword [rbp + 0x10]
mov rcx, rbx
cmp qword [rbp - 0x40], rax
jne 0x180270a43
lea r8, [rbp - 0x40]
mov edx, 1
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
or qword [rbx + 0x3e0], 0x40
jmp case.0x180272ab4.1548
lea r8, [rbp + 0x10]
mov edx, 2
call fcn.180273fc0
test eax, eax
jne 0x180270943
and qword [rbx + 0x3e0], 0xffffffffffffffbf
jmp case.0x180272ab4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
cmp dword [rbx + 0x304], 5
mov r9, qword [rbp - 0x40]
jne 0x180270ab0
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.180273ac0
lea r8, [rbp + 0x60]
jmp 0x180270931
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
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.180273ac0
mov rax, qword [rbx + 0x3e0]
test dil, 1
je 0x180270b54
or rax, 1
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x180270931
and rax, 0xfffffffffffffffe
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x180270931
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
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 0x180270bf3
bts r10, rdx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180270931
cmp eax, 0x41
jne 0x180270c09
btr r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180270931
cmp eax, 0x40
jne 0x180270c1f
btc r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180270931
cmp eax, 0x3f
je case.0x180272ab4.1548
lea r8, [rbp + 0x10]
jmp 0x180270931
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0xb0]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.180273fc0
test eax, eax
jne 0x180270943
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x180270933
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.180273fc0
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
lea edx, [rax + 1]
jmp 0x180270933
and qword [rbx + 0x3e0], 0xfffffffffffffbff
jmp case.0x180272ab4.1548
and qword [rbx + 0x3e0], 0xfffffffffffffffe
jmp case.0x180272ab4.1548
xor qword [rbx + 0x3e0], 1
jmp case.0x180272ab4.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802715d5
and qword [rbx + 0x3e0], 0xfffffffffffffdff
jmp case.0x180272ab4.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov ecx, dword [rbp]
lea eax, [rcx + rcx]
mov dword [rbp + 0x50], eax
cmp ecx, 1
jne 0x180270d6f
test byte [rbp - 0x40], 0x80
je 0x180270d5e
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x180270931
movzx eax, byte [rbp - 0x40]
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180270931
mov rax, qword [rbp - 0x40]
cmp ecx, 2
jne 0x180270da2
bt rax, 0xf
jae 0x180270d92
or rax, 0xffffffffffff0000
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180270931
movzx eax, ax
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180270931
cmp ecx, 4
jne 0x180270dc8
test r13, rax
je 0x180270dc6
movabs rcx, 0xffffffff00000000
lea r8, [rbp + 0x10]
or rax, rcx
mov qword [rbp + 0x10], rax
jmp 0x180270931
mov eax, eax
mov qword [rbp + 0x10], rax
lea r8, [rbp + 0x10]
jmp 0x180270931
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov edx, dword [rbp]
mov rcx, qword [rbp - 0x40]
mov dword [rbp + 0x50], edx
cmp edx, 1
jne 0x180270e16
shr rcx, 7
lea r8, [rbp + 0x10]
and ecx, edx
neg rcx
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x180270931
cmp edx, 2
jne 0x180270e35
shr rcx, 0xf
lea r8, [rbp + 0x10]
and ecx, 1
neg rcx
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x180270931
mov rax, rcx
lea r8, [rbp + 0x10]
shr rax, 0x1f
and eax, 1
shr rcx, 0x3f
cmp edx, 4
cmove rcx, rax
neg rcx
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x180270931
mov qword [rbx + 0x358], r12
mov qword [rbx + 0x370], r12
mov qword [rbx + 0x360], r12
mov qword [rbx + 0x368], r12
jmp case.0x180272ab4.1548
xor edx, edx
lea rcx, [rbx + 0x500]
lea r8d, [rdx + 0x40]
call fcn.180279be0
jmp case.0x180272ab4.1548
test dword [rbx + 0xda0], 0x10000
jne 0x180270eae
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
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 0x1802710e2
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 0x1802711f4
cmp eax, 0x12
jne 0x1802710f5
movdqa xmm2, xmmword [rsp + 0x70]
aesdeclast xmm2, xmmword [rbp - 0x70]
jmp 0x180271104
cmp eax, 0x1b
jne 0x1802711f0
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 word [rax + 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.180273fc0
test eax, eax
jne 0x180270943
lea r15, [0x180000000]
xor r12d, r12d
mov r13d, 0x80000000
jmp case.0x180272ab4.1548
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov eax, dword [rbp]
cmp eax, 1
jne 0x180271384
cmp dword [rbx + 0x304], 0x88
movsx r10, word [rbx + 0x358]
jne 0x1802712e4
movzx edx, byte [rbp - 0x40]
test dl, dl
je 0x180272504
movzx eax, r10w
shr rax, 8
cmp rax, rdx
jae 0x180272504
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.0x180272ab4.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 0x180272504
mov rax, r9
shr rax, 8
movzx eax, al
cmp rax, r8
jae 0x180272504
xor edx, edx
mov rax, r9
div r8
mov rcx, rax
and eax, 0x80
cmp dil, r11b
je 0x18027135f
test rax, rax
je 0x180271368
cmp rcx, 0x80
je 0x180271368
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
test rax, rax
jne 0x180272504
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.0x180272ab4.1548
cmp eax, 2
jne 0x180271492
movzx r8d, word [rbx + 0x368]
movzx eax, word [rbx + 0x358]
shl r8d, 0x10
or r8d, eax
cmp dword [rbx + 0x304], 0x88
jne 0x1802713e1
movzx edx, word [rbp - 0x40]
test rdx, rdx
je 0x180272504
mov eax, r8d
shr rax, 0x10
cmp rax, rdx
jae 0x180272504
mov ecx, edx
mov eax, r8d
xor edx, edx
div ecx
mov r9d, eax
mov word [rbp + 0x60], ax
jmp 0x18027147a
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 0x180272504
mov rax, r10
shr rax, 0x10
movzx eax, ax
cmp rax, r9
jae 0x180272504
xor edx, edx
mov rax, r10
div r9
mov rcx, rax
and eax, 0x8000
cmp dil, r11b
je 0x18027145d
test rax, rax
je 0x180271466
cmp rcx, 0x8000
je 0x180271466
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
test rax, rax
jne 0x180272504
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.0x180272ab4.1548
cmp eax, 4
jne case.0x180272ab4.1548
mov r8d, dword [rbx + 0x368]
mov eax, dword [rbx + 0x358]
shl r8, 0x20
or r8, rax
cmp dword [rbx + 0x304], 0x88
jne 0x1802714ea
mov ecx, dword [rbp - 0x40]
test rcx, rcx
je 0x180272504
mov rax, r8
shr rax, 0x20
cmp rax, rcx
jae 0x180272504
xor edx, edx
mov rax, r8
div rcx
mov r9, rax
mov dword [rbp + 0x60], eax
jmp 0x180271574
movsxd rdi, dword [rbp - 0x40]
mov r10, r8
mov r11, rdi
shr r10, 0x3f
shr r11, 0x3f
mov rcx, rdi
mov r9, r8
test r10b, r10b
je 0x18027150a
neg r9
test r11b, r11b
je 0x180271512
neg rcx
test rcx, rcx
je 0x180272504
mov rax, r9
shr rax, 0x20
cmp rax, rcx
jae 0x180272504
xor edx, edx
mov rax, r9
div rcx
mov rcx, rax
and rax, r13
xor r10b, r11b
je 0x180271555
test rax, rax
je 0x18027155e
cmp rcx, r13
je 0x18027155e
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
test rax, rax
jne 0x180272504
mov rax, r8
cqo
idiv rdi
mov r9, rax
mov dword [rbp + 0x60], eax
mov rax, r8
cqo
idiv rdi
mov eax, edx
mov qword [rbx + 0x368], rax
mov eax, r9d
mov qword [rbx + 0x358], rax
mov dword [rbp + 0x64], edx
jmp case.0x180272ab4.1548
cmp eax, 0x20d
jg 0x180271cfe
je case.0x180272ab4.1552
sub eax, 0x10a
cmp eax, 0x8d
ja case.0x180272ab4.1554
cdqe
movzx eax, byte [r15 + rax + 0x272ec4]
mov ecx, dword [r15 + rax*4 + 0x272e6c]
add rcx, r15
jmp rcx
cmp byte [rbx + 0xd43], 0
je case.0x180272ab4.1552
mov eax, 9
jmp 0x180270943
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov eax, dword [rbp]
cmp eax, 1
jne 0x180271637
test byte [rbp - 0x40], 0x80
je 0x180270d5e
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x180270931
cmp eax, 2
jne 0x180271645
mov rax, qword [rbp - 0x40]
jmp 0x180270d78
cmp eax, 4
mov rax, qword [rbp - 0x40]
jmp 0x180270da5
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 5
lea rdx, [r8 + 1]
jmp 0x180270b02
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
not qword [rbp + 0x10]
lea r8, [rbp + 0x10]
jmp 0x180270931
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
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.180273fc0
test eax, eax
jne 0x180270943
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.180273ac0
cmp qword [rbp - 0x40], 0
mov rax, qword [rbx + 0x3e0]
je 0x180271724
or rax, 1
mov qword [rbx + 0x3e0], rax
jmp case.0x180272ab4.1548
and rax, 0xfffffffffffffffe
mov qword [rbx + 0x3e0], rax
jmp case.0x180272ab4.1548
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.180273110
test al, al
je case.0x180272ab4.1548
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x180270933
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
cmp qword [rbp + 0x100], 0
jne case.0x180272ab4.1548
lea r8, [rbp + 0xb0]
mov edx, 2
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 2
jmp 0x180270933
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 1]
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
cmp qword [rbp + 0x100], 0
jbe case.0x180272ab4.1548
mov ecx, dword [rbx + 0x304]
cmp ecx, 0x14a
jne 0x180271852
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
je 0x1802717aa
jmp case.0x180272ab4.1548
cmp ecx, 0x14b
jne 0x18027186c
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
jne 0x1802717aa
cmp ecx, 0x149
jmp 0x1802717a4
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273310
jmp 0x180270cbf
movzx eax, word [rbx + 0x70]
jmp 0x1802724ea
xor edx, edx
mov rcx, rbx
cmp byte [rbx + 0x4f], 3
jae 0x1802718b4
lea r8, [rbp + 0x10]
call fcn.180273310
test eax, eax
jne 0x180270943
lea edx, [rax + 1]
jmp 0x1802718df
lea r8, [rbp + 0x60]
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
lea edx, [rax + 2]
lea r8, [rbp - 0x40]
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
mov edi, dword [rbp + 0x50]
mov eax, dword [rbx + 0x304]
cmp edi, 1
jne 0x180271948
cmp eax, 0x18c
jne 0x180271923
movzx r8d, byte [rbp + 0x10]
movzx eax, byte [rbp - 0x40]
imul r8d, eax
mov word [rbp + 0x60], r8w
mov r11, qword [rbp + 0x60]
jmp 0x180271aae
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 0x180271ab1
cmp edi, 2
jne 0x18027198a
cmp eax, 0x18c
jne 0x18027196f
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 0x180271ab1
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 0x180271ab1
cmp edi, 4
jne 0x1802719bd
cmp eax, 0x18c
jne 0x1802719a8
mov r11, qword [rbp - 0x40]
imul r11, qword [rbp + 0x10]
mov qword [rbp + 0x60], r11
jmp 0x180271aaa
movsxd r11, dword [rbp + 0x10]
movsxd rax, dword [rbp - 0x40]
imul r11, rax
mov qword [rbp + 0x60], r11
jmp 0x180271aaa
cmp eax, 0x18c
mov eax, dword [rbp + 0x10]
jne 0x180271a2b
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 0x180271aaa
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 0x180271a9e
sub rax, rsi
mov qword [rbp + 0x68], rax
test rsi, rsi
jns 0x180271aaa
sub rax, r14
mov qword [rbp + 0x68], rax
movzx r8d, r11w
mov ecx, r11d
cmp byte [rbx + 0x4f], 1
jne 0x180271b12
mov eax, edi
sub eax, 1
je 0x180271b08
sub eax, 1
je 0x180271afa
sub eax, 2
je 0x180271ae1
cmp eax, 4
jne 0x180271b2f
mov rax, qword [rbp + 0x68]
mov qword [rbx + 0x368], rax
mov qword [rbx + 0x358], r11
jmp 0x180271b2f
mov rax, r11
shr rax, 0x20
mov qword [rbx + 0x368], rax
mov eax, ecx
mov qword [rbx + 0x358], rax
jmp 0x180271b2f
mov rax, r11
shr rax, 0x10
mov word [rbx + 0x368], ax
mov word [rbx + 0x358], r8w
jmp 0x180271b2f
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
mov r11, qword [rbp + 0x60]
mov edi, dword [rbp + 0x50]
xor r8b, r8b
cmp dword [rbx + 0x304], 0x18c
jne 0x180271b8c
sub edi, 1
je 0x180271b66
sub edi, 1
je 0x180271b5f
sub edi, 2
je 0x180271b59
cmp edi, 4
jne 0x180271b6e
cmp qword [rbp + 0x68], 0
jmp 0x180271b6a
cmp dword [rbp + 0x64], 0
jmp 0x180271b6a
cmp r12w, word [rbp + 0x62]
jmp 0x180271b6a
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 0x180271c4a
mov eax, dword [rbp + 0xa0]
cmp eax, 1
jne 0x180271ba5
movzx r11d, byte [rbp + 0x60]
shr r11b, 7
and r11b, al
jmp 0x180271bc7
cmp eax, 2
jne 0x180271bb4
shr r11, 0xf
and r11b, 1
jmp 0x180271bc7
cmp eax, 4
jne 0x180271bc3
shr r11, 0x1f
and r11b, 1
jmp 0x180271bc7
shr r11, 0x3f
sub edi, 1
je 0x180271c2f
sub edi, 1
je 0x180271bff
sub edi, 2
je 0x180271bee
cmp edi, 4
jne 0x180271c21
cmp qword [rbp + 0x68], 0
jne 0x180271be7
test r11b, r11b
jmp 0x180271c1c
cmp qword [rbp + 0x68], 0xffffffffffffffff
jmp 0x180271c16
mov eax, dword [rbp + 0x64]
test eax, eax
jne 0x180271bfa
test r11b, r11b
jmp 0x180271c1c
cmp eax, 0xffffffff
jmp 0x180271c16
movzx eax, word [rbp + 0x62]
cmp r12w, ax
jne 0x180271c0e
test r11b, r11b
jmp 0x180271c1c
mov ecx, 0xffff
cmp cx, ax
jne 0x180271c1e
cmp r11b, 1
je 0x180271c77
mov r8b, 1
mov rcx, qword [rbx + 0x3e0]
test r8b, r8b
je 0x180271c7e
jmp 0x180271c46
movzx eax, byte [rbp + 0x61]
test al, al
jne 0x180271c6d
test r11b, r11b
je 0x180271c77
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.0x180272ab4.1548
cmp al, 0xff
jne 0x180271c3c
cmp r11b, 1
jne 0x180271c3c
mov rcx, qword [rbx + 0x3e0]
and rcx, 0xfffffffffffffffe
jmp 0x180271c4a
movzx eax, byte [rbx + 0x3e0]
mov byte [rbx + 0x359], al
jmp case.0x180272ab4.1548
inc dword [rbx + 0xd7c]
jmp case.0x180272ab4.1548
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180279be0
jmp case.0x180272ab4.1552
mov rax, qword [rbx + 0x40]
cmp rax, 0x80
je case.0x180271d35.550
cmp rax, 0x2e
jne 0x180271ccf
or qword [rbx + 0xd98], 0x10
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
cmp edx, 0x11c
jne case.0x18027091c.7
lea r8, [rbp - 0x40]
mov rcx, rbx
jmp 0x1802724b1
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
jmp 0x1802724b6
cmp eax, 0x432
jg 0x18027292b
je case.0x180272960.1076
sub eax, 0x20e
cmp eax, 0xa7
ja case.0x180272ab4.1554
cdqe
movzx eax, byte [r15 + rax + 0x272fc0]
mov ecx, dword [r15 + rax*4 + 0x272f54]
add rcx, r15
jmp rcx
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.180273110
test al, al
mov qword [rbp - 0x40], 1
mov eax, dword [rbx + 0x60]
mov dword [rbp], eax
jne 0x18027092d
mov qword [rbp - 0x40], r12
jmp 0x18027092d
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
cmp dword [rbx + 0x304], 0x272
mov r9, qword [rbp - 0x40]
jne 0x180271daf
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.180273ac0
cmp dword [rbx + 0x304], 0x5c
je case.0x180272ab4.1548
lea r8, [rbp + 0x60]
jmp 0x180270931
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 0x180270933
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
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.0x180272ab4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
mov eax, dword [rbp + 0x50]
mov rcx, qword [rbp - 0x40]
cmp eax, 8
jne 0x180271ef7
and ecx, 0x3f
jmp 0x180271efa
and ecx, 0x1f
mov r9d, dword [rbx + 0x304]
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0xa0], eax
cmp r9d, 0x284
je 0x180271fb3
cmp r9d, 0x26d
je 0x180271fb3
mov r8, qword [rbp + 0x10]
cmp r9d, 0x287
jne 0x180271f3d
mov rdx, r8
shr rdx, cl
jmp 0x180271fbd
cmp eax, 1
jne 0x180271f60
test byte [rbp + 0x10], 0x80
je 0x180271f57
mov rdx, r8
or rdx, 0xffffffffffffff00
sar rdx, cl
jmp 0x180271fbd
movzx edx, r8b
sar rdx, cl
jmp 0x180271fbd
cmp eax, 2
jne 0x180271f84
bt r8, 0xf
jae 0x180271f7b
mov rdx, r8
or rdx, 0xffffffffffff0000
sar rdx, cl
jmp 0x180271fbd
movzx edx, r8w
sar rdx, cl
jmp 0x180271fbd
cmp eax, 4
jne 0x180271fab
test r13, r8
je 0x180271fa3
mov rdx, r8
movabs r10, 0xffffffff00000000
or rdx, r10
sar rdx, cl
jmp 0x180271fbd
mov edx, r8d
sar rdx, cl
jmp 0x180271fbd
mov rdx, r8
sar rdx, cl
jmp 0x180271fbd
mov r8, qword [rbp + 0x10]
mov rdx, r8
shl rdx, cl
mov qword [rbp + 0x60], rdx
test rcx, rcx
je 0x180272029
cmp r9d, 0x284
je 0x180272015
cmp r9d, 0x26d
je 0x180272015
cmp r9d, 0x287
mov r9, rcx
mov rcx, rbx
jne 0x180271ffe
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x20], eax
call fcn.180273ac0
lea r8, [rbp + 0x60]
jmp 0x180270931
mov byte [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call fcn.180273ac0
lea r8, [rbp + 0x60]
jmp 0x180270931
mov r9, rcx
mov byte [rsp + 0x28], 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.180273ac0
lea r8, [rbp + 0x60]
jmp 0x180270931
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
xor dil, dil
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
mov r10d, dword [rbp + 0x50]
mov r11d, 0x1f
mov r8d, dword [rbx + 0x304]
cmp r10d, 8
mov eax, 0x3f
mov r9d, r12d
cmove r11d, eax
cmp r8d, 0x249
je 0x1802720e9
cmp r8d, 0x24c
je 0x1802720e9
mov esi, dword [rbp - 0x40]
lea ecx, [r10*8]
mov eax, esi
xor edx, edx
and eax, r11d
div ecx
mov r9d, edx
cmp r8d, 0x25d
mov r8, qword [rbp + 0x10]
jne 0x180272373
test r9d, r9d
je 0x180272344
nop word [rax + rax]
mov rax, r8
cmp r10d, 1
jne 0x180272310
shr rax, 7
and eax, r10d
jmp 0x180272332
mov esi, dword [rbp - 0x40]
mov eax, r10d
sub eax, 1
je 0x18027212c
sub eax, 1
je 0x180272115
sub eax, 2
je 0x18027210c
cmp eax, 4
jne 0x180272143
mov r9d, esi
and r9d, 0x3f
jmp 0x180272143
mov r9d, esi
and r9d, 0x1f
jmp 0x180272143
mov r9d, esi
mov eax, 0xf0f0f0f1
and r9d, 0x1f
mul r9d
shr edx, 4
imul eax, edx, 0x11
jmp 0x180272140
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 0x180272242
mov r8, qword [rbp + 0x10]
test r9d, r9d
je 0x1802721c3
mov rdx, qword [rbx + 0x3e0]
cmp r10d, 1
jne 0x180272172
movzx ecx, r8b
shr cl, 7
and cl, r10b
jmp 0x180272197
mov rcx, r8
cmp r10d, 2
jne 0x180272184
shr rcx, 0xf
and cl, 1
jmp 0x180272197
cmp r10d, 4
jne 0x180272193
shr rcx, 0x1f
and cl, 1
jmp 0x180272197
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 0x180272160
mov qword [rbp + 0x10], r8
mov qword [rbx + 0x3e0], rdx
and esi, r11d
cmp esi, 1
jne 0x180272457
cmp r10d, esi
jne 0x1802721ec
mov rdx, qword [rbx + 0x3e0]
shr r8, 7
mov rcx, rdx
and r8d, esi
and ecx, esi
jmp 0x18027243c
cmp r10d, 2
jne 0x18027220c
mov rdx, qword [rbx + 0x3e0]
shr r8, 0xf
mov rcx, rdx
and r8d, 1
and ecx, 1
jmp 0x18027243c
cmp r10d, 4
jne 0x18027222c
mov rdx, qword [rbx + 0x3e0]
shr r8, 0x1f
mov rcx, rdx
and r8d, 1
and ecx, 1
jmp 0x18027243c
mov rdx, qword [rbx + 0x3e0]
mov rcx, rdx
shr r8, 0x3f
and ecx, 1
jmp 0x18027243c
cmp r8d, 0x24c
jne 0x1802720ac
and esi, r11d
mov r11, qword [rbp + 0x10]
cmp esi, 1
jne 0x1802722b8
mov r8, r11
cmp r10d, esi
jne 0x18027226c
shr r8, 7
and r8d, esi
jmp 0x180272290
cmp r10d, 2
jne 0x18027227c
shr r8, 0xf
and r8d, 1
jmp 0x180272290
cmp r10d, 4
jne 0x18027228c
shr r8, 0x1f
and r8d, 1
jmp 0x180272290
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 0x180272457
lea ecx, [r10*8 - 1]
mov r10, qword [rbx + 0x3e0]
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 0x1802722d0
mov qword [rbp + 0x10], r11
lea r8, [rbp + 0x10]
mov qword [rbx + 0x3e0], r10
jmp 0x180270931
cmp r10d, 2
jne 0x18027231f
shr rax, 0xf
and eax, 1
jmp 0x180272332
cmp r10d, 4
jne 0x18027232e
shr rax, 0x1f
and eax, 1
jmp 0x180272332
shr rax, 0x3f
lea r8, [rax + r8*2]
add r9d, 0xffffffff
jne 0x1802720d0
mov qword [rbp + 0x10], r8
and esi, r11d
je 0x1802721c6
mov rdx, qword [rbx + 0x3e0]
mov rax, rdx
or rdx, 1
and rax, 0xfffffffffffffffe
test r8b, 1
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
jmp 0x1802721c6
test r9d, r9d
je 0x18027239e
lea ecx, [r10*8 - 1]
mov rdi, r8
shr r8, 1
and dil, 1
movzx edx, dil
shl rdx, cl
add r8, rdx
add r9d, 0xffffffff
jne 0x180272380
mov qword [rbp + 0x10], r8
test r11d, esi
je 0x1802723f7
mov rdx, r8
cmp r10d, 1
jne 0x1802723b5
shr rdx, 7
and edx, r10d
jmp 0x1802723d7
cmp r10d, 2
jne 0x1802723c4
shr rdx, 0xf
and edx, 1
jmp 0x1802723d7
cmp r10d, 4
jne 0x1802723d3
shr rdx, 0x1f
and edx, 1
jmp 0x1802723d7
shr rdx, 0x3f
mov rcx, qword [rbx + 0x3e0]
mov rax, rcx
or rcx, 1
and rax, 0xfffffffffffffffe
test rdx, rdx
cmove rcx, rax
mov qword [rbx + 0x3e0], rcx
and esi, r11d
cmp esi, 1
jne 0x180272457
cmp r10d, esi
jne 0x18027240d
shr r8, 7
and r8d, esi
jmp 0x180272431
cmp r10d, 2
jne 0x18027241d
shr r8, 0xf
and r8d, 1
jmp 0x180272431
cmp r10d, 4
jne 0x18027242d
shr r8, 0x1f
and r8d, 1
jmp 0x180272431
shr r8, 0x3f
mov rdx, qword [rbx + 0x3e0]
movzx ecx, dil
mov rax, rdx
bts rdx, 0xb
btr rax, 0xb
cmp rcx, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
lea r8, [rbp + 0x10]
jmp 0x180270931
test byte [rbx + 9], 4
lea r8, [rbp - 0x40]
mov rcx, rbx
je 0x1802709b7
mov edx, 3
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273fc0
test eax, eax
jne 0x180270943
jmp 0x1802717aa
cmp dword [rbx + 0x58], 3
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 3
je 0x1802724b6
mov edx, 2
call fcn.180273310
test eax, eax
jne 0x180270943
movzx eax, byte [rbx + 0xd]
and al, 0xf
cmp al, 2
je 0x1802724e6
cmp al, 4
je 0x1802724e0
cmp al, 8
je 0x1802724da
mov eax, r12d
jmp 0x1802724ea
movzx eax, word [rbp - 0x38]
jmp 0x1802724ea
movzx eax, word [rbp - 0x3c]
jmp 0x1802724ea
movzx eax, word [rbp - 0x3e]
cmp byte [rbx + 0xd42], 1
jne 0x180272504
cmp ax, 0x33
jne 0x180272504
or qword [rbx + 0xd98], 0x80
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x180272ab4.1548
nop dword [rax]
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
cmp byte [rbx + 7], al
jge 0x18027255f
cmp qword [rbp + 0x100], 0
je case.0x180272ab4.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
cmp byte [rbx + 7], al
jge case.0x180272ab4.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 2]
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x180272530
jmp case.0x180272ab4.1548
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x180272ab4.1548
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
cmp byte [rbx + 7], al
jge 0x18027261f
cmp qword [rbp + 0x100], 0
je case.0x180272ab4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
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.180273ac0
cmp byte [rbx + 7], 0
jge case.0x180272ab4.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
movzx eax, byte [rbx + 7]
test al, 0x20
je 0x1802726ba
test byte [rbx + 0x3e0], 0x40
je case.0x180272ab4.1548
test al, 0x10
je 0x1802726cb
test byte [rbx + 0x3e0], 0x40
jne case.0x180272ab4.1548
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x1802725f0
jmp case.0x180272ab4.1548
or qword [rbx + 0x3e0], 0x400
jmp case.0x180272ab4.1548
or qword [rbx + 0x3e0], 1
jmp case.0x180272ab4.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802715d5
or qword [rbx + 0x3e0], 0x200
jmp case.0x180272ab4.1548
movzx eax, byte [rbx + 0x359]
and al, 0xd7
or al, 2
mov byte [rbx + 0x3e0], al
jmp case.0x180272ab4.1548
movzx eax, byte [rbx + 0x3e0]
and al, 1
neg al
sbb al, al
mov byte [rbx + 0x358], al
jmp case.0x180272ab4.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
cmp dword [rbp + 0x50], 8
je 0x1802727b7
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 0x180270931
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x180270c28
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 0x180272830
lea r8, [rbp + 0x10]
jmp 0x180270931
cmp byte [rbx + 0xd43], 0
jne 0x1802715d5
or qword [rbx + 0xd98], 0x20000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
cmp byte [rbx + 0xd43], 0
jne 0x1802715d5
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x1802728a9
cmp byte [rbx + 0xd42], 2
je 0x1802728ba
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
cmp rax, 0x176
jne 0x1802728c5
cmp byte [rbx + 0xd42], 1
jne 0x1802728c5
or qword [rbx + 0xd98], 0x40000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
cmp byte [rbx + 0xd43], 0
jne 0x1802728e6
or qword [rbx + 0xd98], 0x100000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
lea r8, [rbp - 0x40]
mov dword [rbp], 4
xor edx, edx
mov dword [rbp - 0x40], esi
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
mov rax, rsi
lea r8, [rbp - 0x40]
shr rax, 0x20
mov edx, 1
mov dword [rbp - 0x40], eax
jmp 0x180270933
cmp eax, 0x5ab
jg 0x180272a90
je 0x180272a29
sub eax, 0x434
cmp eax, 0x58
ja case.0x180272ab4.1554
cdqe
movzx eax, byte [r15 + rax + 0x273074]
mov ecx, dword [r15 + rax*4 + 0x273068]
add rcx, r15
jmp rcx
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180279be0
xor edx, edx
lea rcx, [rbp + 0x10]
lea r8d, [rdx + 0x40]
call fcn.180279be0
lea r8, [rbp + 0x10]
mov dword [rbp + 0x50], 0x40
xor edx, edx
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
jmp case.0x180272ab4.1552
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
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 0x180270c28
mov r8, qword [rbp - 0x40]
nop dword [rax]
mov eax, r10d
mov ecx, r9d
sub eax, 1
je 0x180272a0b
sub eax, 1
je 0x180272a03
cmp eax, 2
je 0x1802729fc
mov qword [rbp + rcx*8 + 0x10], r8
jmp 0x180272a10
mov dword [rbp + rcx*4 + 0x10], r8d
jmp 0x180272a10
mov word [rbp + rcx*2 + 0x10], r8w
jmp 0x180272a10
mov byte [rbp + rcx + 0x10], r8b
mov eax, dword [rbp + 0x50]
xor edx, edx
div r10d
inc r9d
cmp r9d, eax
jb 0x1802729e0
lea r8, [rbp + 0x10]
jmp 0x180270931
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.180273310
test eax, eax
jne 0x180270943
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x180270c28
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 0x180272a70
lea r8, [rbp + 0x10]
jmp 0x180270931
sub eax, 0x60c
cmp eax, 0x16
ja case.0x180272ab4.1554
cdqe
movzx eax, byte [r15 + rax + 0x2730ec]
mov ecx, dword [r15 + rax*4 + 0x2730d0]
add rcx, r15
jmp rcx
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273fc0
jmp 0x1802709c1
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
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.180273ac0
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
lea r8, [rbp + 0x60]
jmp 0x180270931
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.180273310
test eax, eax
jne 0x180270943
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.180273310
test eax, eax
jne 0x180270943
mov eax, dword [rbx + 0x304]
mov ecx, dword [rbp + 0x50]
mov dword [rbp + 0xa0], ecx
cmp eax, 0x197
jne 0x180272bc5
mov rax, qword [rbp - 0x40]
or rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x180272bf3
cmp eax, 0x622
jne 0x180272bda
mov rax, qword [rbp - 0x40]
xor rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x180272bf3
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 0x180272c1b
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.180273fc0
test eax, eax
jne 0x180270943
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.180273ac0
jmp case.0x180272ab4.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802715d5
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x180272c65
cmp byte [rbx + 0xd42], 2
je 0x180272c76
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
cmp rax, 0x176
jne 0x180272c81
cmp byte [rbx + 0xd42], 1
jne 0x180272c81
or qword [rbx + 0xd98], 0x80000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x1802708be
mov eax, 3
jmp 0x180270943
cmp eax, 0x80000001
je 0x180272ca9
mov eax, 4
jmp 0x180270943
mov eax, 2
jmp 0x180270943
mov eax, 0xa
jmp 0x180270943
inc ecx
shr eax, 1
mov dword [rbx + 0xd88], ecx
cmp ecx, eax
jb 0x180272cf6
imul ecx, dword [rbx + 0xda4]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
cmp dword [rbx + 0xd7c], edx
jb 0x180272cf6
or qword [rbx + 0xd98], 1
mov eax, 0xffffffff
jmp 0x180270943
xor eax, eax
jmp 0x180270943
mov eax, 7
jmp 0x180270963