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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1e8]
sub rsp, 0x2e8
mov rax, qword [0x1804c8100]
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 0x18027a0dd
cmp qword [rcx + 0xd48], rax
je 0x18027a0dd
cmp qword [rcx + 0xd50], rax
je 0x18027a0dd
cmp qword [rcx + 0xd58], rax
je 0x18027a0dd
mov eax, dword [rcx + 0xd74]
add eax, dword [rcx + 0xd70]
cmp eax, dword [rcx + 0xd78]
ja 0x18027a0dd
cmp dword [rcx + 0xda4], 0
jne 0x18027788c
mov dword [rcx + 0xda4], 0x4b
cmp dword [rcx + 0xda8], 0
jne 0x18027789f
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 0x18027a09d
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.180280fc0
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x48]
call fcn.180280fc0
xor edx, edx
lea rcx, [rbp + 0x60]
lea r8d, [rdx + 0x48]
call fcn.180280fc0
xor edx, edx
lea rcx, [rbp + 0xb0]
lea r8d, [rdx + 0x48]
call fcn.180280fc0
xor edx, edx
lea rcx, [rbp + 0x100]
lea r8d, [rdx + 0x48]
call fcn.180280fc0
test dil, dil
jne 0x18027a093
cmp qword [rbx + 0xd98], 0
je 0x180277973
mov eax, dword [r14]
test al, 2
jne 0x18027a0cc
mov rdi, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
cmp rdi, rcx
jb 0x18027a089
mov edx, dword [rbx + 0xd70]
add rdx, rcx
cmp rdi, rdx
jae 0x18027a089
lea rax, [rdi + 1]
cmp rax, rcx
jbe 0x18027a089
cmp rax, rdx
ja 0x18027a089
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.18027bd60
cmp eax, r13d
jae 0x18027a078
mov r11, qword [rbx + 0x3f0]
mov rcx, qword [rbx + 0xd60]
movzx r9d, byte [rbx + 0xc]
cmp r11, rcx
jb 0x18027a089
mov r8d, dword [rbx + 0xd70]
add r8, rcx
cmp r11, r8
jae 0x18027a089
lea rdx, [r11 + r9]
cmp rdx, rcx
jbe 0x18027a089
cmp rdx, r8
ja 0x18027a089
mov r8d, r12d
test r9d, r9d
je 0x180277a6e
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 0x180277a66
inc r8d
cmp r8d, r9d
jb 0x180277a40
jmp 0x180277a6e
or qword [rbx + 0xd98], 4
test byte [r14], 1
je 0x180277c68
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.180280200
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.18027bcc0
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.18027bcc0
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.18027bcc0
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.18027bcc0
mov r9, qword [rbx + 0x3e0]
lea rdx, str.________RIP__0x_016llx_RFLAGS__0x_016llx
mov r8, qword [rbx + 0x3f0]
mov rcx, rbx
call fcn.18027bcc0
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.18027bcc0
mov r8, qword [rbx + 0x3f0]
lea r9, [rbp + 0x150]
lea rdx, str.Emulating:_0x_016llx__s_n
mov rcx, rbx
call fcn.18027bcc0
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 0x180277cbf
cmp dword [rbx + 0x304], 0xda
je 0x180277cbf
mov qword [rbx + 0x438], rcx
movzx edi, byte [rsp + 0x60]
mov eax, dword [rbx + 0xd8c]
mov ecx, dword [rbx + 0xd88]
cmp ecx, eax
jae 0x18027a09d
mov rsi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x50]
jmp 0x1802778f0
mov edx, dword [rbx + 0x304]
mov eax, edx
cmp edx, 0x109
jg 0x18027896f
je case.0x180277cfc.22
dec eax
cmp eax, 0xfa
ja case.0x180279e94.1554
cdqe
movzx eax, byte [r15 + rax + 0x27a150]
mov ecx, dword [r15 + rax*4 + 0x27a0e8]
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.18027b3a0
test eax, eax
je case.0x180279e94.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.180286db0
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 0x180277d0d
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18027a4f0
test al, al
je case.0x180279e94.1548
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 1
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
jmp 0x180277d0d
lea r8, [rbp - 0x40]
mov edx, 2
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov rax, qword [rbp + 0x10]
mov rcx, rbx
cmp qword [rbp - 0x40], rax
jne 0x180277e23
lea r8, [rbp - 0x40]
mov edx, 1
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
or qword [rbx + 0x3e0], 0x40
jmp case.0x180279e94.1548
lea r8, [rbp + 0x10]
mov edx, 2
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
and qword [rbx + 0x3e0], 0xffffffffffffffbf
jmp case.0x180279e94.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp dword [rbx + 0x304], 5
mov r9, qword [rbp - 0x40]
jne 0x180277e90
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.18027aea0
lea r8, [rbp + 0x60]
jmp 0x180277d11
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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.18027aea0
mov rax, qword [rbx + 0x3e0]
test dil, 1
je 0x180277f34
or rax, 1
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x180277d11
and rax, 0xfffffffffffffffe
lea r8, [rbp + 0x60]
mov qword [rbx + 0x3e0], rax
jmp 0x180277d11
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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 0x180277fd3
bts r10, rdx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180277d11
cmp eax, 0x41
jne 0x180277fe9
btr r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180277d11
cmp eax, 0x40
jne 0x180277fff
btc r10, rcx
mov qword [rbp + 0x10], r10
lea r8, [rbp + 0x10]
jmp 0x180277d11
cmp eax, 0x3f
je case.0x180279e94.1548
lea r8, [rbp + 0x10]
jmp 0x180277d11
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0xb0]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x180277d13
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
lea edx, [rax + 1]
jmp 0x180277d13
and qword [rbx + 0x3e0], 0xfffffffffffffbff
jmp case.0x180279e94.1548
and qword [rbx + 0x3e0], 0xfffffffffffffffe
jmp case.0x180279e94.1548
xor qword [rbx + 0x3e0], 1
jmp case.0x180279e94.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802789b5
and qword [rbx + 0x3e0], 0xfffffffffffffdff
jmp case.0x180279e94.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov ecx, dword [rbp]
lea eax, [rcx + rcx]
mov dword [rbp + 0x50], eax
cmp ecx, 1
jne 0x18027814f
test byte [rbp - 0x40], 0x80
je 0x18027813e
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x180277d11
movzx eax, byte [rbp - 0x40]
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180277d11
mov rax, qword [rbp - 0x40]
cmp ecx, 2
jne 0x180278182
bt rax, 0xf
jae 0x180278172
or rax, 0xffffffffffff0000
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180277d11
movzx eax, ax
lea r8, [rbp + 0x10]
mov qword [rbp + 0x10], rax
jmp 0x180277d11
cmp ecx, 4
jne 0x1802781a8
test r13, rax
je 0x1802781a6
movabs rcx, 0xffffffff00000000
lea r8, [rbp + 0x10]
or rax, rcx
mov qword [rbp + 0x10], rax
jmp 0x180277d11
mov eax, eax
mov qword [rbp + 0x10], rax
lea r8, [rbp + 0x10]
jmp 0x180277d11
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov edx, dword [rbp]
mov rcx, qword [rbp - 0x40]
mov dword [rbp + 0x50], edx
cmp edx, 1
jne 0x1802781f6
shr rcx, 7
lea r8, [rbp + 0x10]
and ecx, edx
neg rcx
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x180277d11
cmp edx, 2
jne 0x180278215
shr rcx, 0xf
lea r8, [rbp + 0x10]
and ecx, 1
neg rcx
sbb rax, rax
mov qword [rbp + 0x10], rax
jmp 0x180277d11
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 0x180277d11
mov qword [rbx + 0x358], r12
mov qword [rbx + 0x370], r12
mov qword [rbx + 0x360], r12
mov qword [rbx + 0x368], r12
jmp case.0x180279e94.1548
xor edx, edx
lea rcx, [rbx + 0x500]
lea r8d, [rdx + 0x40]
call fcn.180280fc0
jmp case.0x180279e94.1548
test dword [rbx + 0xda0], 0x10000
jne 0x18027828e
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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 0x1802784c2
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 0x1802785d4
cmp eax, 0x12
jne 0x1802784d5
movdqa xmm2, xmmword [rsp + 0x70]
aesdeclast xmm2, xmmword [rbp - 0x70]
jmp 0x1802784e4
cmp eax, 0x1b
jne 0x1802785d0
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.18027b3a0
test eax, eax
jne 0x180277d23
lea r15, [0x180000000]
xor r12d, r12d
mov r13d, 0x80000000
jmp case.0x180279e94.1548
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov eax, dword [rbp]
cmp eax, 1
jne 0x180278764
cmp dword [rbx + 0x304], 0x88
movsx r10, word [rbx + 0x358]
jne 0x1802786c4
movzx edx, byte [rbp - 0x40]
test dl, dl
je 0x1802798e4
movzx eax, r10w
shr rax, 8
cmp rax, rdx
jae 0x1802798e4
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.0x180279e94.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 0x1802798e4
mov rax, r9
shr rax, 8
movzx eax, al
cmp rax, r8
jae 0x1802798e4
xor edx, edx
mov rax, r9
div r8
mov rcx, rax
and eax, 0x80
cmp dil, r11b
je 0x18027873f
test rax, rax
je 0x180278748
cmp rcx, 0x80
je 0x180278748
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
test rax, rax
jne 0x1802798e4
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.0x180279e94.1548
cmp eax, 2
jne 0x180278872
movzx r8d, word [rbx + 0x368]
movzx eax, word [rbx + 0x358]
shl r8d, 0x10
or r8d, eax
cmp dword [rbx + 0x304], 0x88
jne 0x1802787c1
movzx edx, word [rbp - 0x40]
test rdx, rdx
je 0x1802798e4
mov eax, r8d
shr rax, 0x10
cmp rax, rdx
jae 0x1802798e4
mov ecx, edx
mov eax, r8d
xor edx, edx
div ecx
mov r9d, eax
mov word [rbp + 0x60], ax
jmp 0x18027885a
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 0x1802798e4
mov rax, r10
shr rax, 0x10
movzx eax, ax
cmp rax, r9
jae 0x1802798e4
xor edx, edx
mov rax, r10
div r9
mov rcx, rax
and eax, 0x8000
cmp dil, r11b
je 0x18027883d
test rax, rax
je 0x180278846
cmp rcx, 0x8000
je 0x180278846
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
test rax, rax
jne 0x1802798e4
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.0x180279e94.1548
cmp eax, 4
jne case.0x180279e94.1548
mov r8d, dword [rbx + 0x368]
mov eax, dword [rbx + 0x358]
shl r8, 0x20
or r8, rax
cmp dword [rbx + 0x304], 0x88
jne 0x1802788ca
mov ecx, dword [rbp - 0x40]
test rcx, rcx
je 0x1802798e4
mov rax, r8
shr rax, 0x20
cmp rax, rcx
jae 0x1802798e4
xor edx, edx
mov rax, r8
div rcx
mov r9, rax
mov dword [rbp + 0x60], eax
jmp 0x180278954
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 0x1802788ea
neg r9
test r11b, r11b
je 0x1802788f2
neg rcx
test rcx, rcx
je 0x1802798e4
mov rax, r9
shr rax, 0x20
cmp rax, rcx
jae 0x1802798e4
xor edx, edx
mov rax, r9
div rcx
mov rcx, rax
and rax, r13
xor r10b, r11b
je 0x180278935
test rax, rax
je 0x18027893e
cmp rcx, r13
je 0x18027893e
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
test rax, rax
jne 0x1802798e4
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.0x180279e94.1548
cmp eax, 0x20d
jg 0x1802790de
je case.0x180279e94.1552
sub eax, 0x10a
cmp eax, 0x8d
ja case.0x180279e94.1554
cdqe
movzx eax, byte [r15 + rax + 0x27a2a4]
mov ecx, dword [r15 + rax*4 + 0x27a24c]
add rcx, r15
jmp rcx
cmp byte [rbx + 0xd43], 0
je case.0x180279e94.1552
mov eax, 9
jmp 0x180277d23
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov eax, dword [rbp]
cmp eax, 1
jne 0x180278a17
test byte [rbp - 0x40], 0x80
je 0x18027813e
mov rax, qword [rbp - 0x40]
lea r8, [rbp + 0x10]
or rax, 0xffffffffffffff00
mov qword [rbp + 0x10], rax
jmp 0x180277d11
cmp eax, 2
jne 0x180278a25
mov rax, qword [rbp - 0x40]
jmp 0x180278158
cmp eax, 4
mov rax, qword [rbp - 0x40]
jmp 0x180278185
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov r8, qword [rbp + 0x10]
mov byte [rsp + 0x28], 5
lea rdx, [r8 + 1]
jmp 0x180277ee2
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
not qword [rbp + 0x10]
lea r8, [rbp + 0x10]
jmp 0x180277d11
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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.18027b3a0
test eax, eax
jne 0x180277d23
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.18027aea0
cmp qword [rbp - 0x40], 0
mov rax, qword [rbx + 0x3e0]
je 0x180278b04
or rax, 1
mov qword [rbx + 0x3e0], rax
jmp case.0x180279e94.1548
and rax, 0xfffffffffffffffe
mov qword [rbx + 0x3e0], rax
jmp case.0x180279e94.1548
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18027a4f0
test al, al
je case.0x180279e94.1548
lea r8, [rbp + 0xb0]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 1
jmp 0x180277d13
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp qword [rbp + 0x100], 0
jne case.0x180279e94.1548
lea r8, [rbp + 0xb0]
mov edx, 2
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov rax, qword [rbx + 0x70]
lea r8, [rbp + 0xb0]
add qword [rbp + 0xb0], rax
mov edx, 2
jmp 0x180277d13
lea r8, [rbp + 0x100]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 1]
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
cmp qword [rbp + 0x100], 0
jbe case.0x180279e94.1548
mov ecx, dword [rbx + 0x304]
cmp ecx, 0x14a
jne 0x180278c32
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
je 0x180278b8a
jmp case.0x180279e94.1548
cmp ecx, 0x14b
jne 0x180278c4c
mov eax, dword [rbx + 0x3e0]
shr rax, 6
test al, 1
jne 0x180278b8a
cmp ecx, 0x149
jmp 0x180278b84
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
jmp 0x18027809f
movzx eax, word [rbx + 0x70]
jmp 0x1802798ca
xor edx, edx
mov rcx, rbx
cmp byte [rbx + 0x4f], 3
jae 0x180278c94
lea r8, [rbp + 0x10]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea edx, [rax + 1]
jmp 0x180278cbf
lea r8, [rbp + 0x60]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea edx, [rax + 2]
lea r8, [rbp - 0x40]
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov edi, dword [rbp + 0x50]
mov eax, dword [rbx + 0x304]
cmp edi, 1
jne 0x180278d28
cmp eax, 0x18c
jne 0x180278d03
movzx r8d, byte [rbp + 0x10]
movzx eax, byte [rbp - 0x40]
imul r8d, eax
mov word [rbp + 0x60], r8w
mov r11, qword [rbp + 0x60]
jmp 0x180278e8e
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 0x180278e91
cmp edi, 2
jne 0x180278d6a
cmp eax, 0x18c
jne 0x180278d4f
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 0x180278e91
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 0x180278e91
cmp edi, 4
jne 0x180278d9d
cmp eax, 0x18c
jne 0x180278d88
mov r11, qword [rbp - 0x40]
imul r11, qword [rbp + 0x10]
mov qword [rbp + 0x60], r11
jmp 0x180278e8a
movsxd r11, dword [rbp + 0x10]
movsxd rax, dword [rbp - 0x40]
imul r11, rax
mov qword [rbp + 0x60], r11
jmp 0x180278e8a
cmp eax, 0x18c
mov eax, dword [rbp + 0x10]
jne 0x180278e0b
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 0x180278e8a
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 0x180278e7e
sub rax, rsi
mov qword [rbp + 0x68], rax
test rsi, rsi
jns 0x180278e8a
sub rax, r14
mov qword [rbp + 0x68], rax
movzx r8d, r11w
mov ecx, r11d
cmp byte [rbx + 0x4f], 1
jne 0x180278ef2
mov eax, edi
sub eax, 1
je 0x180278ee8
sub eax, 1
je 0x180278eda
sub eax, 2
je 0x180278ec1
cmp eax, 4
jne 0x180278f0f
mov rax, qword [rbp + 0x68]
mov qword [rbx + 0x368], rax
mov qword [rbx + 0x358], r11
jmp 0x180278f0f
mov rax, r11
shr rax, 0x20
mov qword [rbx + 0x368], rax
mov eax, ecx
mov qword [rbx + 0x358], rax
jmp 0x180278f0f
mov rax, r11
shr rax, 0x10
mov word [rbx + 0x368], ax
mov word [rbx + 0x358], r8w
jmp 0x180278f0f
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
mov r11, qword [rbp + 0x60]
mov edi, dword [rbp + 0x50]
xor r8b, r8b
cmp dword [rbx + 0x304], 0x18c
jne 0x180278f6c
sub edi, 1
je 0x180278f46
sub edi, 1
je 0x180278f3f
sub edi, 2
je 0x180278f39
cmp edi, 4
jne 0x180278f4e
cmp qword [rbp + 0x68], 0
jmp 0x180278f4a
cmp dword [rbp + 0x64], 0
jmp 0x180278f4a
cmp r12w, word [rbp + 0x62]
jmp 0x180278f4a
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 0x18027902a
mov eax, dword [rbp + 0xa0]
cmp eax, 1
jne 0x180278f85
movzx r11d, byte [rbp + 0x60]
shr r11b, 7
and r11b, al
jmp 0x180278fa7
cmp eax, 2
jne 0x180278f94
shr r11, 0xf
and r11b, 1
jmp 0x180278fa7
cmp eax, 4
jne 0x180278fa3
shr r11, 0x1f
and r11b, 1
jmp 0x180278fa7
shr r11, 0x3f
sub edi, 1
je 0x18027900f
sub edi, 1
je 0x180278fdf
sub edi, 2
je 0x180278fce
cmp edi, 4
jne 0x180279001
cmp qword [rbp + 0x68], 0
jne 0x180278fc7
test r11b, r11b
jmp 0x180278ffc
cmp qword [rbp + 0x68], 0xffffffffffffffff
jmp 0x180278ff6
mov eax, dword [rbp + 0x64]
test eax, eax
jne 0x180278fda
test r11b, r11b
jmp 0x180278ffc
cmp eax, 0xffffffff
jmp 0x180278ff6
movzx eax, word [rbp + 0x62]
cmp r12w, ax
jne 0x180278fee
test r11b, r11b
jmp 0x180278ffc
mov ecx, 0xffff
cmp cx, ax
jne 0x180278ffe
cmp r11b, 1
je 0x180279057
mov r8b, 1
mov rcx, qword [rbx + 0x3e0]
test r8b, r8b
je 0x18027905e
jmp 0x180279026
movzx eax, byte [rbp + 0x61]
test al, al
jne 0x18027904d
test r11b, r11b
je 0x180279057
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.0x180279e94.1548
cmp al, 0xff
jne 0x18027901c
cmp r11b, 1
jne 0x18027901c
mov rcx, qword [rbx + 0x3e0]
and rcx, 0xfffffffffffffffe
jmp 0x18027902a
movzx eax, byte [rbx + 0x3e0]
mov byte [rbx + 0x359], al
jmp case.0x180279e94.1548
inc dword [rbx + 0xd7c]
jmp case.0x180279e94.1548
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180280fc0
jmp case.0x180279e94.1552
mov rax, qword [rbx + 0x40]
cmp rax, 0x80
je case.0x180279115.550
cmp rax, 0x2e
jne 0x1802790af
or qword [rbx + 0xd98], 0x10
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
cmp edx, 0x11c
jne case.0x180277cfc.7
lea r8, [rbp - 0x40]
mov rcx, rbx
jmp 0x180279891
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
jmp 0x180279896
cmp eax, 0x432
jg 0x180279d0b
je case.0x180279d40.1076
sub eax, 0x20e
cmp eax, 0xa7
ja case.0x180279e94.1554
cdqe
movzx eax, byte [r15 + rax + 0x27a3a0]
mov ecx, dword [r15 + rax*4 + 0x27a334]
add rcx, r15
jmp rcx
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18027a4f0
test al, al
mov qword [rbp - 0x40], 1
mov eax, dword [rbx + 0x60]
mov dword [rbp], eax
jne 0x180277d0d
mov qword [rbp - 0x40], r12
jmp 0x180277d0d
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp dword [rbx + 0x304], 0x272
mov r9, qword [rbp - 0x40]
jne 0x18027918f
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.18027aea0
cmp dword [rbx + 0x304], 0x5c
je case.0x180279e94.1548
lea r8, [rbp + 0x60]
jmp 0x180277d11
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 0x180277d13
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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.0x180279e94.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov eax, dword [rbp + 0x50]
mov rcx, qword [rbp - 0x40]
cmp eax, 8
jne 0x1802792d7
and ecx, 0x3f
jmp 0x1802792da
and ecx, 0x1f
mov r9d, dword [rbx + 0x304]
mov qword [rbp - 0x40], rcx
mov dword [rbp + 0xa0], eax
cmp r9d, 0x284
je 0x180279393
cmp r9d, 0x26d
je 0x180279393
mov r8, qword [rbp + 0x10]
cmp r9d, 0x287
jne 0x18027931d
mov rdx, r8
shr rdx, cl
jmp 0x18027939d
cmp eax, 1
jne 0x180279340
test byte [rbp + 0x10], 0x80
je 0x180279337
mov rdx, r8
or rdx, 0xffffffffffffff00
sar rdx, cl
jmp 0x18027939d
movzx edx, r8b
sar rdx, cl
jmp 0x18027939d
cmp eax, 2
jne 0x180279364
bt r8, 0xf
jae 0x18027935b
mov rdx, r8
or rdx, 0xffffffffffff0000
sar rdx, cl
jmp 0x18027939d
movzx edx, r8w
sar rdx, cl
jmp 0x18027939d
cmp eax, 4
jne 0x18027938b
test r13, r8
je 0x180279383
mov rdx, r8
movabs r10, 0xffffffff00000000
or rdx, r10
sar rdx, cl
jmp 0x18027939d
mov edx, r8d
sar rdx, cl
jmp 0x18027939d
mov rdx, r8
sar rdx, cl
jmp 0x18027939d
mov r8, qword [rbp + 0x10]
mov rdx, r8
shl rdx, cl
mov qword [rbp + 0x60], rdx
test rcx, rcx
je 0x180279409
cmp r9d, 0x284
je 0x1802793f5
cmp r9d, 0x26d
je 0x1802793f5
cmp r9d, 0x287
mov r9, rcx
mov rcx, rbx
jne 0x1802793de
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x20], eax
call fcn.18027aea0
lea r8, [rbp + 0x60]
jmp 0x180277d11
mov byte [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call fcn.18027aea0
lea r8, [rbp + 0x60]
jmp 0x180277d11
mov r9, rcx
mov byte [rsp + 0x28], 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18027aea0
lea r8, [rbp + 0x60]
jmp 0x180277d11
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
xor dil, dil
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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 0x1802794c9
cmp r8d, 0x24c
je 0x1802794c9
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 0x180279753
test r9d, r9d
je 0x180279724
nop word [rax + rax]
mov rax, r8
cmp r10d, 1
jne 0x1802796f0
shr rax, 7
and eax, r10d
jmp 0x180279712
mov esi, dword [rbp - 0x40]
mov eax, r10d
sub eax, 1
je 0x18027950c
sub eax, 1
je 0x1802794f5
sub eax, 2
je 0x1802794ec
cmp eax, 4
jne 0x180279523
mov r9d, esi
and r9d, 0x3f
jmp 0x180279523
mov r9d, esi
and r9d, 0x1f
jmp 0x180279523
mov r9d, esi
mov eax, 0xf0f0f0f1
and r9d, 0x1f
mul r9d
shr edx, 4
imul eax, edx, 0x11
jmp 0x180279520
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 0x180279622
mov r8, qword [rbp + 0x10]
test r9d, r9d
je 0x1802795a3
mov rdx, qword [rbx + 0x3e0]
cmp r10d, 1
jne 0x180279552
movzx ecx, r8b
shr cl, 7
and cl, r10b
jmp 0x180279577
mov rcx, r8
cmp r10d, 2
jne 0x180279564
shr rcx, 0xf
and cl, 1
jmp 0x180279577
cmp r10d, 4
jne 0x180279573
shr rcx, 0x1f
and cl, 1
jmp 0x180279577
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 0x180279540
mov qword [rbp + 0x10], r8
mov qword [rbx + 0x3e0], rdx
and esi, r11d
cmp esi, 1
jne 0x180279837
cmp r10d, esi
jne 0x1802795cc
mov rdx, qword [rbx + 0x3e0]
shr r8, 7
mov rcx, rdx
and r8d, esi
and ecx, esi
jmp 0x18027981c
cmp r10d, 2
jne 0x1802795ec
mov rdx, qword [rbx + 0x3e0]
shr r8, 0xf
mov rcx, rdx
and r8d, 1
and ecx, 1
jmp 0x18027981c
cmp r10d, 4
jne 0x18027960c
mov rdx, qword [rbx + 0x3e0]
shr r8, 0x1f
mov rcx, rdx
and r8d, 1
and ecx, 1
jmp 0x18027981c
mov rdx, qword [rbx + 0x3e0]
mov rcx, rdx
shr r8, 0x3f
and ecx, 1
jmp 0x18027981c
cmp r8d, 0x24c
jne 0x18027948c
and esi, r11d
mov r11, qword [rbp + 0x10]
cmp esi, 1
jne 0x180279698
mov r8, r11
cmp r10d, esi
jne 0x18027964c
shr r8, 7
and r8d, esi
jmp 0x180279670
cmp r10d, 2
jne 0x18027965c
shr r8, 0xf
and r8d, 1
jmp 0x180279670
cmp r10d, 4
jne 0x18027966c
shr r8, 0x1f
and r8d, 1
jmp 0x180279670
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 0x180279837
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 0x1802796b0
mov qword [rbp + 0x10], r11
lea r8, [rbp + 0x10]
mov qword [rbx + 0x3e0], r10
jmp 0x180277d11
cmp r10d, 2
jne 0x1802796ff
shr rax, 0xf
and eax, 1
jmp 0x180279712
cmp r10d, 4
jne 0x18027970e
shr rax, 0x1f
and eax, 1
jmp 0x180279712
shr rax, 0x3f
lea r8, [rax + r8*2]
add r9d, 0xffffffff
jne 0x1802794b0
mov qword [rbp + 0x10], r8
and esi, r11d
je 0x1802795a6
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 0x1802795a6
test r9d, r9d
je 0x18027977e
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 0x180279760
mov qword [rbp + 0x10], r8
test r11d, esi
je 0x1802797d7
mov rdx, r8
cmp r10d, 1
jne 0x180279795
shr rdx, 7
and edx, r10d
jmp 0x1802797b7
cmp r10d, 2
jne 0x1802797a4
shr rdx, 0xf
and edx, 1
jmp 0x1802797b7
cmp r10d, 4
jne 0x1802797b3
shr rdx, 0x1f
and edx, 1
jmp 0x1802797b7
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 0x180279837
cmp r10d, esi
jne 0x1802797ed
shr r8, 7
and r8d, esi
jmp 0x180279811
cmp r10d, 2
jne 0x1802797fd
shr r8, 0xf
and r8d, 1
jmp 0x180279811
cmp r10d, 4
jne 0x18027980d
shr r8, 0x1f
and r8d, 1
jmp 0x180279811
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 0x180277d11
test byte [rbx + 9], 4
lea r8, [rbp - 0x40]
mov rcx, rbx
je 0x180277d97
mov edx, 3
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
jmp 0x180278b8a
cmp dword [rbx + 0x58], 3
lea r8, [rbp - 0x40]
mov rcx, rbx
mov edx, 3
je 0x180279896
mov edx, 2
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
movzx eax, byte [rbx + 0xd]
and al, 0xf
cmp al, 2
je 0x1802798c6
cmp al, 4
je 0x1802798c0
cmp al, 8
je 0x1802798ba
mov eax, r12d
jmp 0x1802798ca
movzx eax, word [rbp - 0x38]
jmp 0x1802798ca
movzx eax, word [rbp - 0x3c]
jmp 0x1802798ca
movzx eax, word [rbp - 0x3e]
cmp byte [rbx + 0xd42], 1
jne 0x1802798e4
cmp ax, 0x33
jne 0x1802798e4
or qword [rbx + 0xd98], 0x80
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x180279e94.1548
nop dword [rax]
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp byte [rbx + 7], al
jge 0x18027993f
cmp qword [rbp + 0x100], 0
je case.0x180279e94.1548
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
cmp byte [rbx + 7], al
jge case.0x180279e94.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
lea edx, [rax + 2]
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x180279910
jmp case.0x180279e94.1548
mov eax, dword [rbx + 0xd8c]
cmp dword [rbx + 0xd88], eax
jae case.0x180279e94.1548
nop word [rax + rax]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp byte [rbx + 7], al
jge 0x1802799ff
cmp qword [rbp + 0x100], 0
je case.0x180279e94.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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.18027aea0
cmp byte [rbx + 7], 0
jge case.0x180279e94.1548
dec qword [rbp + 0x100]
lea r8, [rbp + 0x100]
mov edx, 2
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
movzx eax, byte [rbx + 7]
test al, 0x20
je 0x180279a9a
test byte [rbx + 0x3e0], 0x40
je case.0x180279e94.1548
test al, 0x10
je 0x180279aab
test byte [rbx + 0x3e0], 0x40
jne case.0x180279e94.1548
inc dword [rbx + 0xd88]
mov eax, dword [rbx + 0xd88]
cmp eax, dword [rbx + 0xd8c]
jb 0x1802799d0
jmp case.0x180279e94.1548
or qword [rbx + 0x3e0], 0x400
jmp case.0x180279e94.1548
or qword [rbx + 0x3e0], 1
jmp case.0x180279e94.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802789b5
or qword [rbx + 0x3e0], 0x200
jmp case.0x180279e94.1548
movzx eax, byte [rbx + 0x359]
and al, 0xd7
or al, 2
mov byte [rbx + 0x3e0], al
jmp case.0x180279e94.1548
movzx eax, byte [rbx + 0x3e0]
and al, 1
neg al
sbb al, al
mov byte [rbx + 0x358], al
jmp case.0x180279e94.1548
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
cmp dword [rbp + 0x50], 8
je 0x180279b97
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 0x180277d11
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x180278008
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 0x180279c10
lea r8, [rbp + 0x10]
jmp 0x180277d11
cmp byte [rbx + 0xd43], 0
jne 0x1802789b5
or qword [rbx + 0xd98], 0x20000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
cmp byte [rbx + 0xd43], 0
jne 0x1802789b5
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x180279c89
cmp byte [rbx + 0xd42], 2
je 0x180279c9a
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
cmp rax, 0x176
jne 0x180279ca5
cmp byte [rbx + 0xd42], 1
jne 0x180279ca5
or qword [rbx + 0xd98], 0x40000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
cmp byte [rbx + 0xd43], 0
jne 0x180279cc6
or qword [rbx + 0xd98], 0x100000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
lea r8, [rbp - 0x40]
mov dword [rbp], 4
xor edx, edx
mov dword [rbp - 0x40], esi
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
mov rax, rsi
lea r8, [rbp - 0x40]
shr rax, 0x20
mov edx, 1
mov dword [rbp - 0x40], eax
jmp 0x180277d13
cmp eax, 0x5ab
jg 0x180279e70
je 0x180279e09
sub eax, 0x434
cmp eax, 0x58
ja case.0x180279e94.1554
cdqe
movzx eax, byte [r15 + rax + 0x27a454]
mov ecx, dword [r15 + rax*4 + 0x27a448]
add rcx, r15
jmp rcx
xor edx, edx
lea rcx, [rbp - 0x40]
lea r8d, [rdx + 0x40]
call fcn.180280fc0
xor edx, edx
lea rcx, [rbp + 0x10]
lea r8d, [rdx + 0x40]
call fcn.180280fc0
lea r8, [rbp + 0x10]
mov dword [rbp + 0x50], 0x40
xor edx, edx
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
jmp case.0x180279e94.1552
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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 0x180278008
mov r8, qword [rbp - 0x40]
nop dword [rax]
mov eax, r10d
mov ecx, r9d
sub eax, 1
je 0x180279deb
sub eax, 1
je 0x180279de3
cmp eax, 2
je 0x180279ddc
mov qword [rbp + rcx*8 + 0x10], r8
jmp 0x180279df0
mov dword [rbp + rcx*4 + 0x10], r8d
jmp 0x180279df0
mov word [rbp + rcx*2 + 0x10], r8w
jmp 0x180279df0
mov byte [rbp + rcx + 0x10], r8b
mov eax, dword [rbp + 0x50]
xor edx, edx
div r10d
inc r9d
cmp r9d, eax
jb 0x180279dc0
lea r8, [rbp + 0x10]
jmp 0x180277d11
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov edx, r12d
cmp dword [rbp + 0x50], eax
jbe 0x180278008
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 0x180279e50
lea r8, [rbp + 0x10]
jmp 0x180277d11
sub eax, 0x60c
cmp eax, 0x16
ja case.0x180279e94.1554
cdqe
movzx eax, byte [r15 + rax + 0x27a4cc]
mov ecx, dword [r15 + rax*4 + 0x27a4b0]
add rcx, r15
jmp rcx
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027b3a0
jmp 0x180277da1
lea r8, [rbp - 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
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.18027aea0
lea r8, [rbp + 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
lea r8, [rbp + 0x60]
jmp 0x180277d11
lea r8, [rbp + 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
lea r8, [rbp - 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18027a6f0
test eax, eax
jne 0x180277d23
mov eax, dword [rbx + 0x304]
mov ecx, dword [rbp + 0x50]
mov dword [rbp + 0xa0], ecx
cmp eax, 0x197
jne 0x180279fa5
mov rax, qword [rbp - 0x40]
or rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x180279fd3
cmp eax, 0x622
jne 0x180279fba
mov rax, qword [rbp - 0x40]
xor rax, qword [rbp + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x180279fd3
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 0x180279ffb
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, rbx
call fcn.18027b3a0
test eax, eax
jne 0x180277d23
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.18027aea0
jmp case.0x180279e94.1548
cmp byte [rbx + 0xd43], 0
jne 0x1802789b5
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x18027a045
cmp byte [rbx + 0xd42], 2
je 0x18027a056
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
cmp rax, 0x176
jne 0x18027a061
cmp byte [rbx + 0xd42], 1
jne 0x18027a061
or qword [rbx + 0xd98], 0x80000
mov dil, 1
mov byte [rsp + 0x60], dil
jmp 0x180277c9e
mov eax, 3
jmp 0x180277d23
cmp eax, 0x80000001
je 0x18027a089
mov eax, 4
jmp 0x180277d23
mov eax, 2
jmp 0x180277d23
mov eax, 0xa
jmp 0x180277d23
inc ecx
shr eax, 1
mov dword [rbx + 0xd88], ecx
cmp ecx, eax
jb 0x18027a0d6
imul ecx, dword [rbx + 0xda4]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
cmp dword [rbx + 0xd7c], edx
jb 0x18027a0d6
or qword [rbx + 0xd98], 1
mov eax, 0xffffffff
jmp 0x180277d23
xor eax, eax
jmp 0x180277d23
mov eax, 7
jmp 0x180277d43