Function at 0x180001000
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movdqa xmmword [rsp + 0x130], xmm15
movdqa xmmword [rsp + 0x120], xmm14
movdqa xmmword [rsp + 0x110], xmm13
movdqa xmmword [rsp + 0x100], xmm12
movdqa xmmword [rsp + 0xf0], xmm11
movdqa xmmword [rsp + 0xe0], xmm10
movdqa xmmword [rsp + 0xd0], xmm9
movdqa xmmword [rsp + 0xc0], xmm8
movdqa xmmword [rsp + 0xb0], xmm7
movdqa xmmword [rsp + 0xa0], xmm6
mov eax, dword [0x180023450]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x4048b278
and ecx, 0xbfb74d87
or ecx, eax
mov eax, ecx
xor eax, 0xbfb74d87
xor ecx, 0x81240
and ecx, 0x17ad1ec6
mov edx, eax
and edx, 0xe852e139
or edx, ecx
xor edx, 0xe852e138
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
setne dl
sete al
cmp dword [0x180023454], 9
setg cl
xor al, cl
xor al, 1
mov ebx, ecx
and bl, dl
xor cl, dl
or cl, bl
xor cl, 1
test al, cl
jne 0x1800010f2
xor al, cl
jne 0x1800010f2
nop word cs:[rax + rax]
nop
jmp 0x1800010f0
mov r11d, dword [section..data]
mov dword [rsp + 0x9c], r11d
mov eax, dword [0x180023458]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
cmp ecx, 0xffffffff
setne dl
cmp dword [0x18002345c], 9
setg al
mov ecx, eax
or cl, dl
xor cl, 1
xor al, dl
test cl, al
jne 0x180001142
xor cl, al
jne 0x180001142
nop word [rax + rax]
jmp 0x180001140
test r11d, r11d
je 0x180002079
cmp r11d, 0xf
seta al
movabs rcx, 0x54502300fb1ec061
mov qword [rsp + 0x38], r11
lea rdx, [r11 + rcx]
movabs rbp, 0x200c54007f064c1
sub rdx, rbp
sub rdx, rcx
lea rcx, [rdx + rbp]
add rcx, 0xffffffffffffffff
cmp rcx, 0x400
setb dl
mov ecx, eax
and cl, dl
xor al, dl
or cl, al
mov edx, ecx
xor dl, 1
cmp al, dl
jne 0x18000127b
xor al, 1
or al, cl
xor al, 1
mov r11, qword [rsp + 0x38]
mov ecx, 0
jne 0x180001d4c
mov ebp, r11d
not ebp
mov eax, ebp
and eax, 0xf
mov ecx, r11d
and ecx, 0xfffffff0
or ecx, eax
xor ebp, ecx
and ebp, ecx
movabs rax, 0xfd8b8c8ccbfb3576
movabs rdx, 0x27473733404ca9a
add rdx, rax
movabs rax, 0x742670b08c48facc
mov qword [rsp + 0x48], rbp
lea rcx, [rax + rbp]
sub rcx, rdx
sub rcx, rax
mov rax, rcx
shr rax, 4
movabs rdx, 0x118c0552a31691e9
add rax, rdx
movabs rbp, 0xbab3cc5a34f731db
sub rax, rbp
add rax, rbp
add rax, 1
movabs rbp, 0x87ee342bef64097b
add rax, rbp
mov rbx, rax
sub rbx, rdx
sub rbx, rbp
mov rdi, rbx
not rdi
movabs rdx, 0x21c5d9fe443f5bb2
mov rbp, rdi
and rbp, rdx
not rdx
and rdx, rbx
or rdx, rbp
movabs rbp, 0xde3a2601bbc0a44e
xor rbp, rdx
xor rdi, rbp
and rdi, rbp
cmp rcx, 0x30
mov qword [rsp + 0x50], rdi
jae 0x180001287
xor r14d, r14d
jmp 0x180001bed
mov r11, qword [rsp + 0x38]
xor ecx, ecx
jmp 0x180001d4c
movabs rcx, 0xccea30696f894cd3
sub rbx, rcx
movabs rdx, 0xfcdc9d2b8a409dad
sub rbx, rdx
add rbx, rcx
movabs rcx, 0x7aa025098e80e9ca
sub rbx, rcx
sub rbx, rdi
add rbx, rcx
movabs rcx, 0x451a8577b5eefae4
sub rbx, rcx
add rbx, rdx
add rbx, rcx
mov qword [rsp + 0x60], rbx
mov rcx, rdi
sub rcx, rax
movabs rax, 0x997a397e927a9b64
add rax, rcx
mov qword [rsp + 0x58], rax
pcmpeqd xmm0, xmm0
movdqa xmm11, xmmword [section..rdata]
movdqa xmm9, xmmword [0x180005030]
movdqa xmm10, xmmword [str.________________]
movdqa xmm12, xmmword [0x180005050]
movdqa xmm3, xmmword [str.aaaaaaaaaaaaaaaa]
movdqa xmm13, xmmword [0x180005080]
movdqa xmm14, xmmword [str.NNNNNNNNNNNNNNNNxxxxxxxxxxxxxxxx________________]
mov rdi, 0xffffffffffffffff
xor r14d, r14d
nop word cs:[rax + rax]
nop dword [rax]
mov qword [rsp + 0x28], r14
movabs rcx, 0x2fe7a8ebcf0e20c8
mov rax, rcx
and rax, 0xfffffffffffffc3f
not rcx
mov edx, ecx
and edx, 0x3c0
movabs rbx, 0xd3ee2a7b1b76cab6
mov rbp, rbx
and rbp, rdi
mov r13, rdi
mov r11, rbx
or rdx, rax
not r11
mov rax, r14
and rax, r11
or rax, rbp
xor rdx, rcx
and r11, rdx
not rdx
and rdx, rbx
movabs rcx, 0x98aea54b7493bcee
mov r8, rcx
or r11, rdx
not r8
or r8, rcx
lea rcx, section..data
movdqu xmm4, xmmword [r14 + rcx + 0x404]
movdqa xmm1, xmm4
movdqa xmm6, xmm11
movabs r12, 0x19e59a082f1606ab
mov rdx, r12
pxor xmm1, xmm0
not rdx
movabs rbp, 0x6a1d4b7c94c6e487
mov rcx, rbp
and rcx, rdx
not rbp
mov rdi, r12
pandn xmm6, xmm4
and rdi, rbp
or rdi, rcx
xor rdi, rbp
mov r9, r13
pandn xmm4, xmm11
not r9
movabs rbp, 0xf0cb376a97e24353
mov rcx, rbp
not rcx
or rdx, r9
xor r11, rax
or rcx, rbp
not rdx
and rdx, rcx
mov rbx, rdi
por xmm4, xmm6
not rbx
mov rax, r14
xor rax, rbx
and rax, r14
mov rbp, r12
not r11
and rbp, 0xffffffffffffffef
movabs rsi, 0x80ef2a851b6b3ab
mov ecx, esi
not ecx
not ebx
pxor xmm4, xmm11
or ecx, esi
and ecx, ebx
and ecx, 0x10
mov rbx, rdx
or rcx, rbp
and rbx, rax
xor rax, rdx
or rax, rbx
or r11, r13
mov r10, rax
not r10
movabs r15, 0x1b2b41d621b3de32
mov rdx, r15
not rdx
and rax, rdx
not r11
and rdx, rcx
not rcx
movabs rsi, 0xbbd933a0fa4dbc39
mov rbp, rsi
not rbp
and r10, r15
and r9, rsi
mov rbx, r13
and rbx, rbp
or rbx, r9
mov r9d, esi
and rcx, r15
and r9d, 0x10
or rsi, rbp
and rbp, 0xffffffffffffffef
and r11, r8
or rbp, r9
xor rbp, rbx
and rsi, r13
mov qword [rsp + 0x30], r13
or rax, r10
and rsi, 0xffffffffffffffef
or rsi, rbp
mov rbp, r12
and rbp, rdi
or rdx, rcx
xor rdi, r12
or rdi, rbp
not rdi
lea r8, section..data
movdqu xmm6, xmmword [r11 + r8 + 4]
or rdi, rsi
movabs rbp, 0xf2aca75d593815af
mov rcx, rbp
not rcx
or rcx, rbp
xor rdx, rax
not rdi
and rdi, rcx
mov rax, rdx
mov rcx, rdi
not rcx
movabs rbx, 0xf3ccc1d85e5475dc
mov rsi, rbx
not rax
not rbx
mov rbp, rax
and rbp, rsi
and rdx, rbx
or rdx, rbp
or rax, rcx
and rcx, rsi
and rdi, rbx
pxor xmm4, xmm6
or rdi, rcx
xor rdi, rdx
not rax
por xmm1, xmm6
or rbx, rsi
and rbx, rax
or rbx, rdi
mov rsi, rbx
movabs rcx, 0x4630caa07ea70673
mov rax, rcx
pand xmm4, xmm6
movdqa xmm6, xmm1
and rax, 0xfffffffffffffc2f
not rcx
mov edx, ecx
and edx, 0x3d0
pxor xmm6, xmm0
or rdx, rax
xor rdx, rcx
mov rax, rbx
not rax
movabs rdi, 0x826acd35a5081721
mov rcx, rdi
pandn xmm1, xmm4
and rcx, rax
mov rbp, rdi
not rbp
mov qword [rsp + 0x40], rbx
and rbx, rbp
pxor xmm6, xmm4
or rbx, rcx
and rbp, rdx
not rdx
por xmm6, xmm1
and rdx, rdi
or rbp, rdx
xor rbp, rbx
mov rcx, r8
movdqu xmmword [r14 + r8 + 0x404], xmm6
xor rax, rbp
and rax, rbp
movdqu xmm4, xmmword [rsi + r8 + 0x404]
movdqu xmm8, xmmword [rax + r8 + 4]
movdqa xmm1, xmm4
movdqa xmm2, xmmword [str._a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a]
movdqa xmm5, xmm2
pxor xmm1, xmm2
pand xmm1, xmm4
por xmm4, xmmword [0x180005020]
movdqa xmm6, xmm4
movdqa xmm7, xmm8
pxor xmm6, xmm0
pxor xmm7, xmm0
movdqa xmm2, xmm8
pxor xmm2, xmm5
pandn xmm8, xmm2
por xmm7, xmm5
movdqa xmm2, xmm7
pxor xmm2, xmm0
pandn xmm4, xmm1
pxor xmm1, xmm6
movdqa xmm15, xmm9
por xmm1, xmm4
movdqa xmm6, xmm8
pandn xmm15, xmm8
pandn xmm8, xmm9
por xmm8, xmm15
movdqa xmm4, xmm9
pandn xmm4, xmm2
pxor xmm6, xmm0
por xmm6, xmm7
pand xmm7, xmm9
por xmm4, xmm7
movabs rcx, 0xde8936f53de04dc9
mov rax, rcx
and rax, r13
not rcx
mov rbp, r14
and rbp, rcx
movabs rbx, 0x5ce07b51f6a1ae73
mov rdx, rbx
or rbp, rax
and rdx, 0xffffffffffffffdf
mov rax, rbx
not rax
mov ebx, eax
and ebx, 0x20
xor rbp, rcx
or rbx, rdx
movabs rcx, 0xf9def92dc7c8f5b6
mov rdi, rcx
mov rsi, rcx
not rsi
movabs rdx, 0x970211b97f4ffa8b
mov rcx, rdx
and rcx, rsi
xor rbx, rax
not rdx
and rdi, rdx
or rdi, rcx
xor rdi, rdx
mov rax, rbp
not rax
movabs rcx, 0xbda0e677fdd7f993
mov r14, rcx
not r14
mov r9, rax
or r14, rcx
or r9, rsi
not r9
mov r15, rdi
not r15
mov rdx, qword [rsp + 0x28]
xor rdx, r15
mov r10, rbx
and rdx, qword [rsp + 0x28]
not r10
movabs r12, 0xcec7f4da8b2fb1bf
mov rcx, r12
not rcx
mov r8, r10
or r8, rsi
and r9, r14
or rcx, r12
not r8
movabs r13, 0xa0d471f7299a17f9
mov r14d, r13d
not r14d
mov r12d, r15d
and r8, rcx
not r12d
or r14d, r13d
and r14d, r12d
mov r12, r9
movabs r11, 0x6f1408570cc9b0cb
mov rcx, r11
not r12
not rcx
mov r13, r12
and r13, r11
and r9, rcx
or r9, r13
mov r13, rdx
not r13
or r12, r13
and rdx, rcx
and r13, r11
or rdx, r13
and r14d, 0x20
xor rdx, r9
mov r9d, r14d
and r9d, r8d
xor r14, r8
not r12
or rcx, r11
and rcx, r12
or r14, r9
movabs r11, 0x6bb9ca3c9e0e2077
mov r9, r11
not r9
mov r8, rax
and rbp, r9
and r8, r11
or rbp, r8
or rax, r10
and rbx, r9
and r10, r11
or rbx, r10
xor rbx, rbp
or r9, r11
not rax
and r9, rax
or r9, rbx
mov rax, r9
not rax
movabs rbx, 0xfe1b0478ed163fd8
mov rbp, rbx
and rax, rbx
not rbp
and r9, rbp
or r9, rax
or rcx, rdx
xor r9, rbp
movabs rbx, 0xaaef9353b1650076
mov rax, rbx
not rax
mov rdx, rsi
and rdx, rbx
movabs rbp, 0xf9def92dc7c8f5b6
and rbp, rax
or rbp, rdx
or rsi, r15
and rdi, rax
and r15, rbx
or rdi, r15
xor rdi, rbp
mov rdx, rcx
not rdx
and rdx, r14
not r14
not rsi
or rax, rbx
and r14, rcx
and rax, rsi
or rax, rdi
xor rax, r9
or r14, rdx
not rax
and rax, r9
mov rcx, r14
mov rdx, rax
not rdx
movabs rbx, 0xcd127493a8794a88
mov r15, rbx
not rcx
not r15
mov rbp, rcx
and rbp, rbx
and r14, r15
or r14, rbp
or rcx, rdx
and rdx, rbx
and rax, r15
or rax, rdx
xor rax, r14
mov r14, qword [rsp + 0x28]
not rcx
or r15, rbx
and r15, rcx
or r15, rax
mov rcx, r15
not rcx
movabs rax, 0x8318e706233633ae
mov rdx, rax
not rdx
mov rbp, r15
and rcx, rax
and rbp, rdx
movabs r8, 0x5dee8592b21b8e6e
mov rsi, r8
not rsi
movabs rdi, 0xde5e16f81ff04e85
mov rbx, rdi
and rbx, rsi
or rbp, rcx
not rdi
mov rcx, r8
and rcx, rdi
or rcx, rbx
xor rbp, rdx
xor rcx, rdi
movabs rax, 0xd95903877b4aa744
mov rbx, rax
not rbx
mov rdi, rbp
mov rdx, rax
or rdx, rbx
and rdx, rbp
not rbp
and rbp, rax
and rdi, rbx
or rdi, rbp
mov ebp, eax
and ebp, 0x3e0
and rbx, 0xfffffffffffffc1f
or rbx, rbp
xor rbx, rdi
and rdx, 0xfffffffffffffc1f
or rdx, rbx
movabs rdi, 0x92fe3a11f8e51baf
mov rbp, rdi
not rbp
mov rax, rsi
mov rbx, r8
and rax, rdi
and rbx, rbp
or rbx, rax
mov rax, rcx
not rax
or rsi, rax
and rax, rdi
and rcx, rbp
or rcx, rax
xor rcx, rbx
pxor xmm4, xmm8
pxor xmm6, xmm0
movdqa xmm2, xmm10
pandn xmm2, xmm1
por xmm6, xmm4
pandn xmm1, xmm10
por xmm1, xmm2
movdqa xmm2, xmm10
not rsi
pandn xmm2, xmm6
or rbp, rdi
and rbp, rsi
or rbp, rcx
mov rax, rdx
pandn xmm6, xmm10
not rax
movabs rcx, 0x2787d7e4d1be0298
and rax, rcx
not rcx
por xmm6, xmm2
and rdx, rcx
or rdx, rax
xor rdx, rcx
pxor xmm6, xmm1
xor rbp, rdx
not rbp
and rbp, rdx
lea rsi, section..data
mov rax, qword [rsp + 0x40]
movdqu xmmword [rax + rsi + 0x404], xmm6
movdqu xmm6, xmmword [rbp + rsi + 4]
movdqu xmm2, xmmword [r15 + rsi + 0x404]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqa xmm4, xmm12
pandn xmm4, xmm2
pandn xmm2, xmm12
por xmm2, xmm4
pxor xmm2, xmm12
movdqa xmm4, xmmword [0x180005060]
movdqa xmm5, xmm4
por xmm2, xmm4
pxor xmm2, xmm0
por xmm1, xmm3
pxor xmm1, xmm0
movdqa xmm7, xmm13
por xmm1, xmm2
pandn xmm7, xmm6
movdqa xmm4, xmm6
pxor xmm4, xmm3
pand xmm4, xmm6
pandn xmm6, xmm13
por xmm7, xmm6
pxor xmm7, xmm13
por xmm7, xmm5
movdqa xmm6, xmm7
pandn xmm6, xmm4
pxor xmm4, xmm0
pxor xmm4, xmm7
mov rcx, r14
xor rcx, 0xffffffffffffffcf
mov r8, qword [rsp + 0x30]
mov eax, r8d
and rcx, r14
and eax, 0x30
mov rdx, r14
and rdx, 0xffffffffffffffcf
or rdx, rax
mov rbp, rcx
movabs rax, 0xa30c052bcb2e5311
mov rdi, rax
not rbp
not rdi
mov rbx, rbp
and rbx, rax
and rcx, rdi
or rcx, rbx
mov rbx, rdx
not rbx
or rbp, rbx
and rdx, rdi
and rbx, rax
or rdx, rbx
xor rdx, rcx
por xmm4, xmm6
movdqa xmm2, xmm3
pandn xmm2, xmm1
pandn xmm1, xmm3
por xmm1, xmm2
movdqa xmm2, xmm3
pandn xmm2, xmm4
pandn xmm4, xmm3
por xmm4, xmm2
not rbp
or rdi, rax
pxor xmm4, xmm1
and rdi, rbp
or rdi, rdx
mov rcx, rdi
not rcx
mov rdx, rcx
movdqu xmmword [r15 + rsi + 0x404], xmm4
and rdx, 0xfffffffffffffc0f
mov eax, edi
and eax, 0x3f0
or rax, rdx
xor rcx, rax
and rcx, rax
movdqu xmm1, xmmword [rdi + rsi + 0x404]
movdqa xmm2, xmm1
movdqa xmm4, xmm14
pandn xmm4, xmm1
pandn xmm1, xmm14
por xmm1, xmm4
movdqu xmm4, xmmword [rcx + rsi + 4]
pxor xmm2, xmm0
por xmm2, xmm4
pxor xmm4, xmm0
pxor xmm1, xmm14
por xmm1, xmm4
movdqa xmm4, xmm1
pxor xmm4, xmm0
pxor xmm2, xmm0
pandn xmm1, xmm2
pxor xmm2, xmm4
por xmm2, xmm1
movdqu xmmword [rdi + rsi + 0x404], xmm2
mov rax, qword [rsp + 0x60]
movabs rcx, 0xcaa4afd3abdfd228
mov rdx, rcx
sub rax, rcx
movabs rcx, 0xe7cef91cb942ceed
sub rax, rcx
add r14, 0x40
add rax, rdx
add rax, rcx
add rax, 0xfffffffffffffffc
mov qword [rsp + 0x60], rax
mov rdi, r8
add rdi, 0xffffffffffffffc0
add qword [rsp + 0x58], 4
jne 0x180001340
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x180001d39
movabs r8, 0xd855b3549e396850
movabs rbp, 0xb59901224ccf46a4
movabs r9, 0x3b4b298fd40e47f6
mov rdx, r14
not rdx
mov rax, r8
not rax
mov r10, rbp
not r10
mov rcx, rbp
and rcx, r10
xor r10, rbp
or r10, rcx
mov rcx, r9
not rcx
lea r11, section..data
pcmpeqd xmm0, xmm0
movdqa xmm1, xmmword [0x1800050a0]
movdqa xmm2, xmmword [0x1800050b0]
nop dword [rax + rax]
mov rbp, r8
and rbp, rdx
mov rdi, r14
and rdi, rax
or rdi, rbp
xor rdi, rax
mov rbp, rdi
and rbp, 0xfffffffffffffc0f
xor rdi, 0xfffffffffffffc0f
or rdi, rbp
mov rbp, rdi
not rbp
and rbp, r9
and rdi, rcx
or rdi, rbp
xor rdi, rcx
mov rbx, r10
xor rbx, rdi
not rbx
and rbx, rdi
movdqu xmm5, xmmword [rbx + r11 + 4]
movdqu xmm3, xmmword [r14 + r11 + 0x404]
movdqa xmm4, xmm3
pxor xmm4, xmm0
movdqa xmm6, xmm1
pandn xmm6, xmm3
pandn xmm3, xmm1
por xmm3, xmm6
pxor xmm3, xmm1
pxor xmm3, xmm5
pand xmm3, xmm5
por xmm4, xmm5
movdqa xmm5, xmm4
pxor xmm5, xmm0
movdqa xmm6, xmm3
pxor xmm6, xmm0
por xmm6, xmm4
pand xmm4, xmm2
movdqa xmm7, xmm2
pandn xmm7, xmm3
pandn xmm3, xmm2
por xmm3, xmm7
movdqa xmm7, xmm2
pandn xmm7, xmm5
por xmm7, xmm4
pxor xmm7, xmm3
pxor xmm6, xmm0
por xmm6, xmm7
movdqu xmmword [r14 + r11 + 0x404], xmm6
add r14, 0x10
add rdx, 0xfffffffffffffff0
add rsi, 0xffffffffffffffff
jne 0x180001c60
mov r11, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
cmp rcx, r11
je 0x180002079
mov r14, rcx
not r14
movabs rax, 0x8012404c60050ab0
and rax, r14
mov edx, ecx
and edx, 0x9008940a
or rdx, rax
movabs rax, 0x19091ca09008940a
xor rax, rdx
mov edx, ecx
xor edx, 0xf00d9eba
and edx, ecx
mov ebp, edx
and ebp, eax
xor rdx, rax
or rdx, rbp
movabs r10, 0x991b5cecf00d9eba
and r10, rdx
not rdx
movabs rbp, 0x66e4a3130ff26145
and rbp, rdx
or r10, rbp
mov edx, r11d
not edx
mov ebp, edx
and ebp, 0x24b182f6
mov ebx, r11d
and ebx, 0xdb4e7d09
or ebx, ebp
xor ebx, 0xdb4e7d08
xor edx, ebx
test edx, ebx
mov rsi, rcx
je 0x180001e7c
mov edx, r14d
and edx, 0xfffffc0f
mov ebp, esi
and ebp, 0x3f0
or ebp, edx
not ebp
or rbp, r14
not rbp
lea r9, section..data
mov r8b, byte [rbp + r9 + 4]
mov cl, byte [rsi + r9 + 0x404]
mov ebx, r8d
not bl
or bl, cl
not cl
mov eax, ebx
not al
or cl, r8b
mov edx, ecx
not dl
mov r8d, ebx
and r8b, 0xcb
and al, 0x34
or al, r8b
or bl, cl
and cl, 0xcb
and dl, 0x34
or dl, cl
xor dl, al
not bl
or bl, dl
mov byte [rsi + r9 + 0x404], bl
mov rdi, r14
or rdi, 0xfffffffffffffffe
and r14d, 1
and esi, 0xfffffffe
or rsi, r14
mov rcx, rsi
not rcx
movabs rdx, 0x1154378580db1e11
mov rax, rdi
and rax, rdx
and rdx, rcx
and esi, 0x7f24e1ee
or rsi, rdx
xor rsi, rax
or rcx, rdi
not rcx
or rsi, rcx
movabs rax, 0xdf380da4a2d1e3b
lea rcx, [r11 + rax]
movabs rdx, 0xffa4bcdeba5c5226
add rcx, rdx
sub rax, rcx
add rax, rdx
cmp r10, rax
je 0x180002079
mov r10, rsi
movabs rax, 0xd4af7325cb8d19a6
movabs r9, 0x29b5fcdb022e35c6
movabs r15, 0x3a313a7628e4372
mov rbp, 0xfffffffffffffffe
sub rbp, rsi
not r9
mov rcx, r9
and rcx, 0xfffffffffffffc00
mov qword [rsp + 0x28], rcx
lea rsi, section..data
not r15
mov r14, r15
and r14, 0xfffffffffffffc00
mov rdi, rax
not rdi
or rdi, rax
lea rax, [rbp + 1]
movabs rdx, 0x29b5fcdb022e35c6
mov rcx, rdx
and rcx, rax
mov rbx, r10
and rbx, r9
or rbx, rcx
mov ecx, edx
and ecx, 0x3ff
add rcx, qword [rsp + 0x28]
xor rcx, rbx
xor rax, rcx
and rax, rcx
movzx ecx, byte [rax + rsi + 4]
movzx r13d, byte [r10 + rsi + 0x404]
movzx r12d, byte [r10 + rsi + 0x405]
mov eax, r13d
not al
and al, 0x95
and r13b, 0x6a
or r13b, al
mov eax, ecx
mov ebx, ecx
xor bl, 0x95
and bl, cl
not cl
and cl, 0x84
and al, 0x7b
or al, cl
mov ecx, eax
xor cl, 0x7b
xor al, 0x11
and al, cl
mov ecx, eax
not cl
mov edx, ebx
not dl
mov r8d, ecx
and r8b, 0x79
and al, 0x86
or al, r8b
or cl, dl
and dl, 0x79
and bl, 0x86
or bl, dl
xor bl, al
not cl
or cl, bl
mov eax, r13d
not al
and al, 0xa7
and r13b, 0x58
or r13b, al
mov eax, ecx
not al
and al, 0xa7
and cl, 0x58
or cl, al
xor cl, r13b
mov byte [r10 + rsi + 0x404], cl
lea rax, [r10 + 1]
movabs rdx, 0x3a313a7628e4372
mov rcx, rdx
and rcx, rbp
and rax, r15
or rax, rcx
mov ecx, edx
and ecx, 0x3ff
or rcx, r14
xor rcx, rax
not rcx
or rcx, rbp
not rcx
and rcx, rdi
movzx r13d, byte [rcx + rsi + 4]
mov eax, r12d
xor al, 0xd5
and al, r12b
not r12b
and r12b, 0xd5
mov ecx, r13d
not cl
xor r13b, 0xd5
and r13b, cl
or cl, 0xd5
mov edx, ecx
not dl
mov r8d, r12d
and r8b, al
xor al, r12b
or al, r8b
mov ebx, r13d
not bl
mov r8d, ebx
and r8b, 0xa3
and r13b, 0x5c
or r13b, r8b
or bl, cl
and cl, 0xa3
and dl, 8
or dl, cl
xor dl, r13b
not bl
or bl, dl
mov ecx, eax
not cl
and cl, 0xd9
and al, 0x26
or al, cl
mov ecx, ebx
not cl
and cl, 0xd9
and bl, 0x26
or bl, cl
xor bl, al
mov byte [r10 + rsi + 0x405], bl
add rbp, 0xfffffffffffffffe
add r10, 2
cmp r10, r11
jne 0x180001f00
lea rsi, section..data
mov al, byte [r11 + rsi + 0x404]
mov byte [rsp + 0x6c], al
mov eax, dword [0x180023450]
mov edi, dword [0x180023454]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov ebp, eax
and ebp, 0xfffffffe
and ecx, 1
or ecx, ebp
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete bl
setne r8b
cmp edi, 0xa
setl cl
cmp edi, 9
setg al
and bl, al
or al, r8b
mov edx, eax
xor dl, 1
and cl, r8b
or cl, bl
cmp dl, cl
jne 0x1800020e6
xor cl, 1
or al, cl
xor al, 1
je 0x180002220
lea r10, [r11 + rsi]
add r10, 0x404
mov eax, dword [0x180023450]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
mov dl, byte [r10 + 1]
xor eax, ecx
test eax, ecx
sete bl
cmp dword [0x180023454], 0xa
mov byte [rsp + 0x6d], dl
setl cl
mov eax, ecx
xor al, bl
or cl, bl
xor cl, 1
or cl, al
mov edx, ecx
xor dl, 1
cmp al, dl
jne 0x180002144
xor al, 1
or al, cl
xor al, 1
je 0x180002220
mov al, byte [r10 + 2]
mov byte [rsp + 0x6e], al
mov eax, dword [0x180023450]
mov ecx, dword [0x180023454]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0x3ee2e36b
and edx, 0xc11d1c94
or edx, eax
mov eax, edx
xor eax, 0xc11d1c94
and eax, 0xfffffffe
xor edx, 0x3ee2e36a
or edx, eax
cmp edx, 0xffffffff
sete r8b
setne bl
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl al
mov ecx, eax
xor cl, bl
and cl, al
and dl, r8b
and al, bl
or al, dl
cmp cl, al
jne 0x1800021b3
xor cl, 1
xor al, 1
or al, cl
xor al, 1
je 0x180002220
mov al, byte [r10 + 3]
mov byte [rsp + 0x6f], al
mov eax, dword [0x180023450]
mov ecx, dword [0x180023454]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0x63891719
and edx, 0x9c76e8e6
or edx, ebp
xor edx, 0x63891718
or edx, eax
cmp edx, 0xffffffff
setne r8b
sete bl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg dl
mov ecx, eax
or al, bl
and bl, dl
and cl, r8b
or cl, bl
xor dl, r8b
xor al, 1
or al, dl
xor al, 1
test cl, al
jne 0x180002222
xor cl, al
jne 0x180002222
nop dword [rax + rax]
jmp 0x180002220
mov eax, dword [0x180023458]
mov edx, dword [0x18002345c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov ebp, eax
and ebp, 0xfffffffe
and ecx, 1
or ecx, ebp
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl cl
cmp edx, 9
setg al
xor al, bl
mov edx, ecx
xor dl, bl
or cl, bl
xor cl, 1
or cl, dl
mov edx, dword [rsp + 0x6c]
cmp al, cl
jne 0x180002282
or al, cl
xor al, 1
jne 0x180002282
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180002280
mov qword [rsp + 0x38], r11
test edx, edx
je 0x180003040
add r10, 4
cmp edx, 0x1f
seta r8b
cmp edx, 0x20
setb al
movabs rcx, 0x6985a3247df606da
movabs rbp, 0x967a5cdb8209f927
add rbp, rcx
mov qword [rsp + 0x28], rdx
mov rcx, rdx
sub rcx, rbp
cmp rcx, 0x3ff
seta bl
cmp rcx, 0x400
setb dl
mov ecx, eax
xor cl, dl
and cl, al
and bl, r8b
and al, dl
or al, bl
xor r12d, r12d
test cl, al
jne 0x18000241d
xor cl, al
lea rsi, section..data
mov rdx, qword [rsp + 0x28]
jne 0x180002c69
movabs rcx, 0xb65e947e10862882
mov rdi, qword [rsp + 0x38]
add rcx, rdi
movabs rax, 0x4469b3ee77260735
sub rcx, rax
add rcx, rsi
add rcx, rax
movabs rax, 0x49a16b81ef79db86
add rax, rcx
movabs rcx, 0x4781b1d707911a29
mov rbx, rdx
add rdx, rcx
movabs rbp, 0x34ab2549dcf181e7
sub rdx, rbp
sub rdx, rcx
movabs rcx, 0x233e17080c99e86b
sub rdx, rcx
add rdx, rdi
add rdx, rcx
add rdx, rbp
movabs rcx, 0x7533002a86d931a4
add rcx, rdx
movabs rdx, 0xee5f03af96cdff57
sub rdx, rcx
movabs rcx, 0x86d3fc7af00b2e45
add rcx, rdx
movabs rdx, 0xc9d9290acd8e9603
add rcx, rdx
mov rbp, rsi
sub rbp, rcx
add rbp, rdx
movabs rcx, 0x1e3be3522a010bc7
lea rdx, [rbx + rcx]
sub rcx, rdx
movabs rdx, 0x4b34a5ba4687ceb2
sub rcx, rdx
movabs rbx, 0x67f8db10700ce0c9
add rbx, rcx
movabs rcx, 0x980724ef8ff31f33
add rcx, rbx
add rcx, rdx
movabs rbx, 0xcad06a0ff39836c
mov rdx, rbx
sub rdx, rcx
sub rdx, rbx
add rdx, rsi
cmp rax, rdx
setb cl
lea rax, str.zctFMRTRyvBoRZwEtxpuUumECFOUeMPLUctmTwAxkaqnmlJRWlCSlFkmFjeOEBUgsuscfSdIRdkSTOZPtdbEcuVshrmvclMUQrCTMUQVtiEcQnyEWbQvaTCYIgkBkdlEmHvBszTRSRzWBcJmRDGncVMWKceBhbBEFAaZLVoYrEEFljgzogtCsAXwsCCRInSgwCbMwaYjTrirqXCaCbDVuyCzhfcWthjkKtQWRvmibaHwCRmlWFvVtMPyiccWfLYkxARiaWrVVuHLVXpVHhhPQyqCAKJaZQaqKyMmRdPnFTtLHJkIdtMsWBJkrUPUuTaDClpYYaGtnFjwmHUZwXqXMxqnlOovzcBqChunPlmoAueYcgFCibCAeCCVrdLZJMELpfDeyPsOBSmBbcdcbJRFYoDGTuSEHcCrsXccYbHaXeuVBhqpWyipKpalYuaOrmjwvUFnYzjyyIzvIORGLTkpUzRSqCjjYpfLcjOwvVtYpGgancWerqKrUWXxhVAcaxvIWyfuCJeGiwXiUnTdhlhnPVftITPgjDAfKWUZuyyvOATZyVQrDWezZXzlhTVQcnmigdykkfKhUmRggiKvDMKbgIjXQnYdRpprpyXbzgOunXxRoyBmfwTvfaerwqFUemqwaFWFCPdikvdvDwDYGLEqEcbzrSlWgOndxvMgXAsIyVBoYSaKGmyzdePUPCnRAPBKTPTraxQDVeuUHnvpGgqjkhXMGErTExWGcBtfqABPRFTPgRpWGXArZuckjEnUybfylazrLjwdddoGezaIiKFtiPxHpgtqzCgiLXfcTOUzZbefdVpsPwrrlUxtrKMGQnwZRALPhkEzyxWzptpjDAbtwCOxkSeVrETbtubmIImRVTbkrWdHDqfisowOnyIrJhILlkPGUcoCjGQFzPcFWlLYOnXeYwaFSPYSkzwPZTjcmgPoPvzMKaHiMygXJfHczAnxIoeEUxjeyHHpeXJBCUoHGbLnvPtcdgXZbbvaSnzkVzKSZjkqFegYzLtmgJecQAs
cmp rbp, rax
seta al
xor al, cl
xor al, 1
xor cl, al
cmp cl, 1
je 0x180002427
test al, al
je 0x180002427
xor r12d, r12d
mov rdx, qword [rsp + 0x28]
jmp 0x180002c69
mov rcx, qword [rsp + 0x28]
mov r12d, ecx
not r12d
mov eax, r12d
and eax, 0x564c2375
and ecx, 0xa9b3dc8a
or ecx, eax
xor ecx, 0x564c236a
xor r12d, ecx
and r12d, ecx
lea rax, [r12 - 0x20]
mov rcx, rax
shr rcx, 5
movabs rbp, 0xe1bf6c878715a9a3
add rcx, rbp
movabs rbx, 0xfadac5906a16a83e
add rcx, rbx
sub rcx, rbp
movabs rbp, 0xdcb3e2953a6c352
sub rcx, rbp
sub rcx, rbx
lea rdx, [rcx + rbp]
add rdx, 1
mov rcx, rdx
not rcx
movabs rbp, 0x519585c6dea2f4fe
mov rbx, rcx
and rbx, rbp
not rbp
and rbp, rdx
or rbp, rbx
movabs rbx, 0x519585c6dea2f4ff
xor rbx, rbp
or rbx, rcx
not rbx
test rax, rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], r10
je 0x180002a25
movabs rax, 0xc3fad645a4df3349
mov rcx, rax
sub rcx, rbx
sub rcx, rax
movabs rax, 0xb5d624669ebe741d
sub rbx, rdx
mov qword [rsp + 0x58], rbx
sub rdx, rax
add rdx, rcx
add rdx, rax
pcmpeqd xmm15, xmm15
movdqa xmm8, xmmword [0x1800050c0]
movdqa xmm9, xmmword [0x1800050d0]
movdqa xmm10, xmmword [0x1800050e0]
movdqa xmm13, xmmword [0x1800050f0]
movdqa xmm14, xmmword [0x180005100]
movdqa xmm11, xmmword [str.KKKKKKKKKKKKKKKK]
movdqa xmm12, xmmword [0x180005120]
lea rax, [rdi + rsi]
add rax, 0x418
mov qword [rsp + 0x48], rax
mov r14, 0xffffffffffffffff
xor r8d, r8d
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x60], r8
movabs r11, 0xe7e4e36a52d2f86f
mov rax, r11
not rax
movabs rdx, 0x57e55699738e593c
mov rcx, rdx
and rax, rdx
not rcx
mov rdi, r11
and rdi, rcx
mov r8, r14
not r8
movabs rbp, 0xba4598406ac9a634
mov rbx, rbp
or rdi, rax
not rbx
mov rax, r8
and rax, rbp
mov rsi, r14
and rsi, rbx
mov edx, ebp
or rsi, rax
and edx, 0x3c0
or rbp, rbx
and rbx, 0xfffffffffffffc3f
xor rdi, rcx
or rbx, rdx
xor rbx, rsi
and rbp, r14
and rbp, 0xfffffffffffffc3f
or rbp, rbx
mov rax, r11
movabs rcx, 0x69aa0545cd4584e2
mov r15, rcx
not r15
or r15, rcx
movabs r10, 0x69f330298d56505f
mov rsi, r10
and rax, rdi
not rsi
movabs rdx, 0x42dcc501dbb792b8
mov rcx, rdx
and rcx, rsi
not rdx
mov rbx, r10
xor rdi, r11
and rbx, rdx
or rbx, rcx
xor rbx, rdx
mov rcx, r14
or rdi, rax
xor rcx, rsi
and rcx, r14
mov r11, rbx
not r11
movabs r13, 0x7669db1ecf776c21
mov rdx, r13
not rdi
not rdx
mov rax, r14
or rax, r11
or rdx, r13
or rdi, rbp
not rax
and rax, rdx
movabs rbp, 0x17ede4532acb6de0
mov rdx, rbp
not rdx
not rdi
or rdx, rbp
and rdx, r10
and rdx, 0xffffffffffffffdf
movabs r9, 0x5665d986b66c96af
mov r13d, r9d
and rdi, r15
not r13d
mov ebp, r11d
not ebp
or r13d, r9d
lea r9, section..data
movdqu xmm1, xmmword [rdi + r9 + 4]
and r13d, ebp
and r13d, 0x20
or r13, rdx
mov rdx, rcx
movdqu xmm5, xmmword [rdi + r9 + 0x14]
not rdx
movabs r15, 0xdf4afe4c2de6a521
mov rdi, r15
not rdi
mov rbp, rdx
and rcx, rdi
and rbp, r15
or rcx, rbp
mov rbp, rax
not rbp
or rdx, rbp
and rbp, r15
and rax, rdi
or rax, rbp
not rdx
xor rax, rcx
or rdi, r15
and rdi, rdx
movabs r15, 0xe00b3355fab8e023
mov rdx, r15
not rdx
mov rbp, r14
and r8, r15
and rbp, rdx
or rbp, r8
mov ecx, r15d
and ecx, 0x20
or rdi, rax
mov rax, r15
or rax, rdx
and rdx, 0xffffffffffffffdf
or rdx, rcx
mov rcx, rdi
not rcx
xor rdx, rbp
and rax, r14
and rax, 0xffffffffffffffdf
and rcx, r13
or rax, rdx
mov rdx, rax
not rdx
movabs rbp, 0x3007b3073739c459
and rdx, rbp
not r13
not rbp
and rax, rbp
or rax, rdx
and r13, rdi
xor rax, rbp
movabs r8, 0xc8afd5400417d326
mov rdi, r8
not rdi
mov rdx, rsi
and rdx, r8
and r10, rdi
or r10, rdx
or rsi, r11
and rbx, rdi
and r11, r8
or rbx, r11
xor rbx, r10
or rdi, r8
mov r8, qword [rsp + 0x60]
not rsi
and rdi, rsi
or rdi, rbx
not rax
not rdi
or rdi, rax
movabs rdx, 0x3cfe826b909bc363
mov rax, rdx
not rax
or rax, rdx
or r13, rcx
not rdi
and rdi, rax
mov rax, r13
and rax, rdi
xor rdi, r13
or rdi, rax
mov rax, rdi
not rax
mov rcx, rax
mov ebp, edi
and ebp, 0x3e0
and rcx, 0xfffffffffffffc1f
or rbp, rcx
movabs rbx, 0xc1dc710ad5ba4c7f
mov rcx, rbx
sub rcx, qword [rsp + 0x30]
not rbp
or rbp, rax
movabs rdx, 0x3e95f6d5a72822b6
mov rax, rdx
not rax
or rax, rdx
not rbp
and rbp, rax
movabs rdx, 0xea673ce9c8357551
add rcx, rdx
mov rax, rbx
sub rax, rcx
mov rcx, qword [rsp + 0x48]
movdqu xmm3, xmmword [rcx + r8]
movdqu xmm6, xmmword [rcx + r8 - 0x10]
movdqa xmm7, xmm6
pandn xmm7, xmm8
movdqa xmm4, xmm8
pandn xmm4, xmm6
por xmm4, xmm7
pxor xmm1, xmm15
pxor xmm4, xmm8
por xmm4, xmm1
movdqa xmm7, xmm4
pxor xmm1, xmm6
pxor xmm7, xmm15
pandn xmm1, xmm6
movdqa xmm6, xmm9
pandn xmm6, xmm3
movdqa xmm2, xmm5
movdqa xmm0, xmm10
pandn xmm0, xmm5
pandn xmm4, xmm1
pandn xmm5, xmm10
por xmm5, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmm10
pxor xmm1, xmm7
pxor xmm0, xmm5
pand xmm0, xmm3
pandn xmm3, xmm9
por xmm1, xmm4
por xmm6, xmm3
pxor xmm2, xmm15
pxor xmm6, xmm9
movdqa xmm3, xmm0
por xmm6, xmm2
pxor xmm3, xmm15
movdqa xmm2, xmm6
por xmm3, xmm6
pxor xmm6, xmm15
movdqa xmm4, xmm13
pand xmm2, xmm13
pandn xmm4, xmm6
movdqa xmm5, xmm13
pandn xmm5, xmm0
pandn xmm0, xmm13
por xmm4, xmm2
por xmm0, xmm5
pxor xmm0, xmm4
pxor xmm3, xmm15
por xmm3, xmm0
movdqu xmmword [rcx + r8 - 0x10], xmm1
movdqu xmmword [rcx + r8], xmm3
movdqu xmm0, xmmword [rbp + r9 + 4]
movdqu xmm1, xmmword [rbp + r9 + 0x14]
mov rcx, qword [rsp + 0x40]
movdqu xmm2, xmmword [rcx + rdi]
movdqu xmm3, xmmword [rcx + rdi + 0x10]
movdqa xmm4, xmm2
pxor xmm4, xmm15
movdqa xmm5, xmm11
pandn xmm5, xmm2
pandn xmm2, xmm11
por xmm2, xmm5
movdqa xmm5, xmm0
pxor xmm5, xmm15
pxor xmm2, xmm11
por xmm2, xmm5
movdqa xmm5, xmm2
movdqa xmm6, xmm12
pandn xmm6, xmm0
pandn xmm0, xmm12
pxor xmm5, xmm15
por xmm0, xmm6
pxor xmm0, xmm12
por xmm0, xmm4
movdqa xmm4, xmm0
pxor xmm4, xmm15
movdqa xmm6, xmm2
pand xmm6, xmm14
por xmm2, xmm0
pand xmm0, xmm14
movdqa xmm7, xmm14
pandn xmm7, xmm5
por xmm7, xmm6
movdqa xmm5, xmm14
pandn xmm5, xmm4
pxor xmm2, xmm15
por xmm5, xmm0
pxor xmm1, xmm15
movdqa xmm0, xmm1
por xmm0, xmm3
movdqa xmm4, xmm0
pxor xmm4, xmm15
pxor xmm5, xmm7
pxor xmm1, xmm3
pandn xmm1, xmm3
pandn xmm0, xmm1
por xmm2, xmm5
pxor xmm1, xmm4
por xmm1, xmm0
movdqu xmmword [rcx + rdi], xmm2
movdqu xmmword [rcx + rdi + 0x10], xmm1
add r8, 0x40
add rdx, rax
add rdx, 0xfffffffffffffffe
add r14, 0xffffffffffffffc0
add qword [rsp + 0x58], 2
jne 0x18000255f
jmp 0x180002a28
xor r8d, r8d
cmp qword [rsp + 0x50], 0
mov r10, qword [rsp + 0x40]
je 0x180002c5b
mov rax, r8
not rax
movabs rcx, 0x8d04895ed499f2a4
mov rdx, r8
and rdx, rcx
not rcx
and rcx, rax
or rcx, rdx
movabs rdx, 0x72fb76a12b660ebb
xor rdx, rcx
and rax, 0xfffffffffffffc1f
or rax, rdx
not rax
lea rcx, section..data
movdqu xmm0, xmmword [rax + rcx + 4]
movdqu xmm9, xmmword [rax + rcx + 0x14]
movdqu xmm5, xmmword [r10 + r8]
movdqu xmm1, xmmword [r10 + r8 + 0x10]
pcmpeqd xmm8, xmm8
movdqa xmm6, xmm5
pxor xmm6, xmm8
movdqa xmm7, xmmword [0x180005130]
movdqa xmm4, xmm7
pandn xmm4, xmm5
pandn xmm5, xmm7
por xmm5, xmm4
movdqa xmm4, xmmword [0x180005140]
pxor xmm5, xmm7
por xmm5, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_twwwwwwwwwwwwwwww]
movdqa xmm7, xmm5
pxor xmm7, xmm8
por xmm6, xmm4
movdqa xmm10, xmm6
movdqa xmm2, xmmword [0x180005160]
movdqa xmm3, xmm0
pandn xmm3, xmm2
pandn xmm2, xmm0
por xmm2, xmm3
movdqa xmm3, xmmword [0x180005170]
pxor xmm3, xmm2
pxor xmm2, xmmword [0x180005180]
pxor xmm10, xmm8
pand xmm2, xmm3
pxor xmm4, xmm0
pand xmm4, xmm0
movdqa xmm0, xmmword [str.________________TTTTTTTTTTTTTTTT]
pand xmm5, xmm0
pand xmm6, xmm0
movdqa xmm3, xmm0
pandn xmm3, xmm7
por xmm3, xmm5
pandn xmm0, xmm10
por xmm0, xmm6
pxor xmm0, xmm3
movdqa xmm3, xmm2
pand xmm3, xmm4
pxor xmm4, xmm2
por xmm4, xmm3
movdqa xmm3, xmmword [0x1800051a0]
movdqa xmm2, xmm4
pandn xmm2, xmm3
movdqa xmm5, xmm3
pandn xmm5, xmm0
pandn xmm0, xmm3
por xmm0, xmm5
pandn xmm3, xmm4
por xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm5, xmm1
pxor xmm5, xmm8
movdqa xmm0, xmmword [0x1800051b0]
movdqa xmm2, xmm0
pandn xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
movdqa xmm4, xmmword [0x1800051c0]
pxor xmm1, xmm0
movdqa xmm10, xmmword [str.KKKKKKKKKKKKKKKK]
por xmm1, xmm10
movdqa xmm11, xmm1
pxor xmm11, xmm8
por xmm5, xmm4
movdqa xmm6, xmm5
pxor xmm6, xmm8
movdqa xmm0, xmmword [0x1800051d0]
movdqa xmm7, xmm0
pandn xmm7, xmm9
pxor xmm4, xmm9
pand xmm4, xmm9
pandn xmm9, xmm0
por xmm7, xmm9
pxor xmm7, xmm0
por xmm7, xmm10
movdqa xmm0, xmmword [0x1800051e0]
pand xmm1, xmm0
pand xmm5, xmm0
movdqa xmm2, xmm0
pandn xmm2, xmm11
por xmm2, xmm1
pandn xmm0, xmm6
por xmm0, xmm5
pxor xmm0, xmm2
movdqa xmm1, xmm7
pandn xmm1, xmm4
pxor xmm4, xmm8
pxor xmm4, xmm7
por xmm4, xmm1
movdqa xmm1, xmm0
pandn xmm1, xmm4
pandn xmm4, xmm0
por xmm4, xmm1
movdqu xmmword [r10 + r8], xmm3
movdqu xmmword [r10 + r8 + 0x10], xmm4
mov rdx, qword [rsp + 0x28]
cmp r12, rdx
je 0x180003040
mov rbp, r12
not rbp
mov ecx, ebp
not ecx
movabs rbx, 0x7d291336f790002b
mov rsi, rbx
not rsi
and ecx, 0xf790002b
and rsi, rbp
or rsi, rcx
xor rsi, rbx
mov rcx, rdx
not rcx
movabs rbx, 0xf963f3705efe554
and rcx, rbx
mov edi, edx
and edi, 0xfa101aab
or rdi, rcx
xor rdi, rbx
mov rcx, rdi
not rcx
and rcx, 0xfffffffffffffffe
xor rdi, 1
or rdi, rcx
cmp rdi, 0xffffffffffffffff
je 0x180002dab
mov rcx, rbp
and rcx, 0xfffffffffffffc1f
xor rbp, 0xfffffffffffffc1f
or rbp, rcx
not rbp
lea rax, section..data
mov r8b, byte [rbp + rax + 4]
mov bl, byte [r10 + r12]
mov r9d, ebx
mov r11d, ebx
xor r11b, 0x14
and r11b, bl
not bl
and bl, 4
and r9b, 0x10
or r9b, bl
xor r9b, 0x10
mov eax, r8d
mov ecx, r8d
xor cl, 0x14
and cl, r8b
not r8b
and r8b, 0x15
and al, 0xea
or al, r8b
mov ebx, eax
xor bl, 0xea
xor al, 1
and al, bl
mov ebx, r9d
and bl, r11b
xor r11b, r9b
or r11b, bl
mov ebx, eax
not bl
mov r8d, ecx
not r8b
mov r9d, ebx
and r9b, 0xd2
and al, 0x2d
or al, r9b
or bl, r8b
and r8b, 0xd2
and cl, 0x2d
or cl, r8b
xor cl, al
not bl
or bl, cl
mov eax, r11d
not al
and al, 0xa1
and r11b, 0x5e
or r11b, al
mov eax, ebx
not al
and al, 0xa1
and bl, 0x5e
or bl, al
xor bl, r11b
mov byte [r10 + r12], bl
mov eax, r12d
xor eax, 0xfffffffe
and eax, r12d
mov ecx, r12d
not ecx
and ecx, 1
and r12d, 0xfffffffe
or r12, rcx
mov ecx, r12d
and ecx, eax
xor r12, rax
or r12, rcx
movabs rax, 0x99141608b49dd353
lea rcx, [rdx + rax]
movabs rbp, 0xcaaa2a55e29161aa
add rcx, rbp
sub rax, rcx
add rax, rbp
cmp rsi, rax
je 0x180003040
movabs r14, 0x51f4a991bfd238d8
mov r11, 0xfffffffffffffffe
sub r11, r12
mov rax, qword [rsp + 0x38]
lea rcx, section..data
lea r13, [rax + rcx]
add r13, 0x409
movabs r15, 0xeab9ad6a18de5064
movabs rsi, 0xe3072bae1622c699
lea r9, [r11 + 1]
mov rdi, r15
not rdi
movabs r8, 0xa3a1d20955b767f2
mov r10, r8
not r10
mov rbx, r9
mov rcx, r8
or rcx, r10
and rcx, r9
not r9
and r9, r8
and rbx, r10
or rbx, r9
and r8d, 0x3ff
and r10, 0xfffffffffffffc00
or r10, r8
xor r10, rbx
and rcx, 0xfffffffffffffc00
or rcx, r10
mov rbx, rsi
not rbx
mov rdx, rdi
mov rbp, r15
and rdx, rsi
and rbp, rbx
or rbp, rdx
mov rdx, r15
and rdx, rsi
mov rax, rdi
and rax, rbx
or rax, rdx
or rdi, r15
not rdi
xor rax, rbp
or rbx, rsi
and rbx, rdi
or rbx, rax
mov rax, rcx
not rax
movabs rdx, 0x50627f7d0e335365
and rax, rdx
not rdx
and rcx, rdx
or rcx, rax
xor rcx, rdx
not rbx
mov rax, r14
not rax
movabs rbp, 0xdf2012e539673233
mov rdx, rbp
and rax, rbp
not rdx
mov rdi, r14
and rdi, rdx
or rdi, rax
not rcx
movabs rbp, 0xfa881654d2e58ff0
mov rax, rbp
not rax
or rax, rbp
xor rdi, rdx
or rbx, rcx
mov rcx, r11
and rcx, 0xfffffffffffffc00
mov rdx, r11
xor rdx, 0xfffffffffffffc00
or rdx, rcx
mov rcx, r14
not rbx
and rcx, rdi
xor rdi, r14
or rdi, rcx
mov rcx, rdx
and rbx, rax
not rcx
movabs rbp, 0x2c42ad2211ac995b
mov rax, rbp
not rax
and rdx, rax
and rcx, rbp
or rdx, rcx
lea rbp, section..data
movzx r8d, byte [rbx + rbp + 4]
movzx ecx, byte [r13 + r12 - 1]
xor rdx, rax
mov eax, ecx
mov ebx, ecx
xor bl, 0x4a
and bl, cl
not cl
and cl, 0xd4
and al, 0x2b
or al, cl
mov r9d, eax
not rdx
not r9b
not rdi
or rdi, rdx
movabs rcx, 0x768dd336097e93f
mov rdx, rcx
not rdx
xor al, 0x40
or rdx, rcx
not rdi
and rdi, rdx
mov edx, r8d
mov ecx, r8d
xor cl, 0x4a
and cl, r8b
not r8b
and dl, 0x5e
and r8b, 0xa1
or dl, r8b
or al, 0xb5
mov r8d, eax
and r9b, 2
and r8b, 0x5d
or r9b, r8b
mov r8d, ebx
not r8b
or al, r8b
and r8b, 0x5d
and bl, 0xa2
or bl, r8b
xor bl, r9b
not al
or al, bl
mov ebx, edx
xor bl, 0x5e
xor dl, 0xeb
and dl, bl
mov ebx, edx
and bl, cl
xor cl, dl
or cl, bl
mov edx, eax
not dl
and dl, 0xc2
and al, 0x3d
or al, dl
mov edx, ecx
not dl
and dl, 0xc2
and cl, 0x3d
or cl, dl
xor cl, al
movzx eax, byte [r13 + r12]
mov byte [r13 + r12 - 1], cl
movzx ecx, byte [rdi + rbp + 4]
not al
mov edx, eax
xor dl, cl
not dl
or al, cl
and dl, cl
not al
mov ecx, edx
and cl, al
xor al, dl
or al, cl
mov byte [r13 + r12], al
add r11, 0xfffffffffffffffe
add r12, 2
cmp r12, qword [rsp + 0x28]
jne 0x180002e14
movsxd rax, dword [0x180006440]
mov ecx, dword [0x180023460]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
mov ebp, ecx
and ebp, 0xfffffffe
and edx, 1
or edx, ebp
not edx
or edx, ecx
cmp edx, 0xffffffff
setne bl
cmp dword [0x180023464], 9
setg dl
mov ecx, edx
xor cl, bl
and dl, bl
or dl, cl
xor cl, 1
cmp cl, dl
jne 0x180003092
or cl, dl
xor cl, 1
jne 0x180003092
nop dword [rax + rax]
jmp 0x180003090
lea rcx, section..data
lea rbp, [rax + rcx]
add rbp, 0x404
mov rax, qword [rsp + 0x38]
lea r14, [rax + rcx]
add r14, 0x407
cmp byte [r14 + 1], 0
lea r14, [r14 + 1]
jne 0x1800030b4
mov r13, r14
add r13, 1
mov qword [rsp + 0x60], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800030cb
mov r12, r13
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800030d9
mov eax, dword [0x180023468]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x701fb5d
and ecx, 0xf8fe04a2
or ecx, eax
mov eax, ecx
xor eax, 0xf8fe04a2
xor ecx, 0xd349
and ecx, 0x208ad749
mov edx, eax
and edx, 0xdf7528b6
or edx, ecx
xor edx, 0xdf7528b7
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
sete al
cmp dword [0x18002346c], 0xa
setl dl
xor al, dl
mov ecx, eax
not cl
and cl, dl
test cl, al
jne 0x180003152
xor cl, al
jne 0x180003152
nop word [rax + rax]
jmp 0x180003150
mov qword [rsp + 0x58], rbp
movabs r15, 0x2adc431eac400c38
movabs r8, 0x73068edf296d5ea
mov rcx, qword gs:[0x60]
mov rax, qword [rcx + 0x18]
add rax, 0x10
mov ecx, dword [0x180023470]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
not ecx
and ebp, 0xb0368f2c
mov ebx, ecx
and ebx, 0x4fc970d3
or ebx, ebp
xor ebx, 0x4fc970d2
and ecx, 0xfffffffe
or ecx, ebx
mov ebp, ecx
not ebp
and ebp, 0xda8d0cf2
and ecx, 0x2572f30d
or ecx, ebp
xor ecx, 0x2572f30d
setne cl
cmp dword [0x180023474], 9
setg bl
mov edx, ebx
and dl, cl
xor bl, cl
or dl, bl
xor dl, 1
mov ecx, ebx
and cl, dl
xor dl, bl
or dl, cl
mov byte [rsp + 0x40], dl
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, qword [rsp + 0x30]
je 0x18000399a
mov rdi, r14
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180003208
cmp byte [rsp + 0x40], 0
je 0x180003390
movabs rax, 0xe05c9d66fedeb833
add rdi, rax
movabs rcx, 0x8f0d10c253e3268b
sub rdi, rcx
sub rdi, rax
sub rdi, qword [rsp + 0x60]
movabs rax, 0x1dcceaaa24f56d62
sub rdi, rax
add rdi, rcx
add rdi, rax
je 0x1800032db
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x60]
xor ebp, ebp
mov rbx, rdi
movzx esi, word [rcx + rbp*2]
test esi, esi
sete r9b
lea eax, [rsi - 0x41]
lea r10d, [rsi + 0x20]
cmp ax, 0x1a
cmovae r10d, esi
movsx eax, byte [r14 + rbp + 1]
lea esi, [rax - 0x41]
lea edx, [rax + 0x20]
cmp sil, 0x1a
cmovae edx, eax
sub r10d, edx
setne al
xor al, r9b
mov r11d, eax
xor r11b, 1
and r9b, r11b
cmp r9b, al
jne 0x1800032d2
xor r9b, 1
or r9b, r11b
xor r9b, 1
jne 0x1800032d2
add rbx, r8
sub rbx, r15
sub rbx, r8
add rbx, r15
add rbx, 0xffffffffffffffff
add rbp, 1
cmp rdi, rbp
jne 0x180003266
jmp 0x1800032db
test r10d, r10d
jne 0x1800031ed
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax + 0x30]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [0x180023478]
lea edx, [rcx - 1]
imul edx, ecx
mov r11d, edx
not r11d
and edx, 0x74b6d14
mov ecx, r11d
and ecx, 0xf8b492eb
or ecx, edx
xor ecx, 0xf8b492ea
and r11d, 0xfffffffe
or r11d, ecx
mov ecx, r11d
not ecx
and ecx, 0xa42a7fe5
and r11d, 0x5bd5801a
or r11d, ecx
xor r11d, 0x5bd5801a
cmp dword [rsi + rax + 0x8c], 0
mov edi, dword [0x18002347c]
je 0x180003412
mov ebp, dword [rsi + rax + 0x88]
test r11d, r11d
sete al
setne cl
cmp edi, 9
setg dl
cmp edi, 0xa
setl bl
and bl, cl
and al, dl
or al, bl
mov ebx, edx
and bl, cl
xor dl, cl
or dl, bl
xor dl, 1
test al, dl
jne 0x180003392
xor al, dl
jne 0x180003392
nop dword [rax]
jmp 0x180003380
jmp 0x180003390
cmp dword [rsi + rbp + 0x14], 0
je 0x180003412
mov eax, dword [rsi + rbp + 0x18]
mov dword [rsp + 0x28], eax
test eax, eax
je 0x180003412
mov dword [rsp + 0x40], edi
mov r8d, dword [rsi + rbp + 0x1c]
mov eax, dword [0x180023480]
mov edi, dword [0x180023484]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xf3bfd33e
and edx, 0xc402cc1
or edx, ebx
xor edx, 0xc402cc0
xor eax, edx
test eax, edx
sete bl
setne cl
cmp edi, 0xa
setl al
cmp edi, 9
setg dl
and bl, dl
or dl, cl
xor dl, 1
and al, cl
or al, bl
test dl, al
jne 0x180003906
xor dl, al
jne 0x180003906
nop dword [rax + rax]
jmp 0x180003410
xor ebp, ebp
test r11d, r11d
sete dl
setne bl
cmp edi, 0xa
setl cl
cmp edi, 9
setg al
or al, bl
mov ebx, eax
xor bl, 1
xor cl, dl
cmp bl, cl
jne 0x180003442
xor cl, 1
or al, cl
xor al, 1
jne 0x180003442
nop
jmp 0x180003440
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rbp
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea ecx, [rdi - 1]
imul ecx, edi
mov edx, ecx
not edx
and edx, 0xa4471d50
and ecx, 0x5bb8e2af
or ecx, edx
mov ebp, ecx
xor ebp, 0x5bb8e2af
xor ecx, 0xa4410c40
and ecx, 0xf6594c42
mov edx, ebp
and edx, 0x9a6b3bd
or edx, ecx
xor edx, 0x9a6b3bc
and ebp, 0xfffffffe
or ebp, edx
cmp ebp, 0xffffffff
sete cl
cmp r9d, 0xa
setl dl
mov ebx, edx
xor bl, cl
or dl, cl
xor dl, 1
or dl, bl
mov ecx, edx
xor cl, 1
cmp bl, cl
jne 0x1800034e2
xor bl, 1
or bl, dl
xor bl, 1
jne 0x1800034e2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800034e0
mov rdx, qword [rsp + 0x58]
cmp word [rdx + 6], 0
mov qword [rsp + 0x40], rax
je 0x180003891
lea rcx, [rdx + 0x108]
xor ebp, ebp
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rbp
lea rax, [rbp*4]
add rax, rbp
lea r10, [rcx + rax*8 + 0xc]
mov r11d, dword [0x180023450]
mov r8d, dword [0x180023454]
lea eax, [r11 - 1]
imul eax, r11d
mov ecx, eax
not ecx
and ecx, 0x2829870
and eax, 0xfd7d678f
or eax, ecx
mov ecx, eax
xor ecx, 0xfd7d678e
and ecx, 0xfffffffe
xor eax, 0x2829871
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0xaa46c650
and eax, 0x55b939af
or eax, ecx
xor eax, 0x55b939af
sete r9b
setne bl
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl al
mov ecx, eax
xor cl, bl
and cl, al
and dl, r9b
and al, bl
or al, dl
test cl, al
mov qword [rsp + 0x30], r10
je 0x180003849
lea eax, [r11 - 1]
imul eax, r11d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xeb2a15dd
and eax, 0x14d5ea22
or eax, edx
xor eax, 0xeb2a15dc
or eax, ecx
cmp eax, 0xffffffff
sete dl
cmp r8d, 0xa
setl al
xor dl, al
mov ecx, edx
xor cl, 1
and al, cl
cmp al, dl
jne 0x1800035e0
xor al, 1
or al, cl
xor al, 1
je 0x1800038f0
mov r15d, dword [r10 + 4]
test r15, r15
je 0x180003682
mov ebp, dword [r10]
add rbp, qword [rsp + 0x40]
mov eax, dword [r10 + 8]
lea rcx, section..data
lea r9, [rax + rcx]
add r9, 0x404
xor edi, edi
mov rax, r15
jmp 0x18000361f
add rax, 0xffffffffffffffff
add rdi, 1
cmp r15, rdi
je 0x180003682
movzx edx, byte [r9 + rdi]
mov byte [rbp + rdi], dl
mov r11d, dword [0x180023450]
mov r8d, dword [0x180023454]
lea edx, [r11 - 1]
imul edx, r11d
mov ebx, edx
not ebx
mov esi, ebx
and esi, 0x762a0276
and edx, 0x89d5fd89
or edx, esi
xor edx, 0x89d5fd88
xor ebx, edx
test ebx, edx
sete bl
cmp r8d, 0xa
setl dl
xor bl, dl
mov ecx, ebx
xor cl, 1
and dl, cl
cmp dl, bl
jne 0x180003612
xor dl, 1
or dl, cl
xor dl, 1
jne 0x180003612
jmp 0x1800038f0
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea ecx, [rdi - 1]
imul ecx, edi
mov edx, ecx
not edx
mov esi, edx
and esi, 0xfffffffe
and ecx, 1
or ecx, esi
not ecx
or ecx, edx
cmp ecx, 0xffffffff
setne bl
sete sil
cmp r9d, 0xa
setl dl
cmp r9d, 9
setg cl
and cl, sil
and bl, dl
or bl, cl
mov ecx, edx
xor cl, sil
or dl, sil
xor dl, 1
or dl, cl
mov ecx, edx
xor cl, 1
cmp bl, cl
jne 0x180003856
xor bl, 1
or bl, dl
xor bl, 1
jne 0x180003856
lea eax, [r11 - 1]
imul eax, r11d
mov ecx, eax
not ecx
and ecx, 0xbe65d6fa
and eax, 0x419a2905
or eax, ecx
mov ecx, eax
xor ecx, 0x419a2904
and ecx, 0xfffffffe
xor eax, 0xbe65d6fb
or eax, ecx
cmp eax, 0xffffffff
sete cl
cmp r8d, 0xa
setl bl
xor cl, bl
mov edx, ecx
not dl
and dl, bl
test dl, cl
jne 0x18000373a
xor dl, cl
je 0x180003904
mov rcx, r10
mov r10d, dword [r10 + 4]
test r10, r10
je 0x180003816
mov eax, dword [rcx + 8]
mov r9d, dword [rcx]
add r9, qword [rsp + 0x40]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rsp + 0x28], rax
xor edi, edi
mov rbp, r10
jmp 0x1800037a1
movabs rcx, 0x2d340e0a7aae9903
mov rdx, rcx
add rbp, rcx
movabs rcx, 0xdf366a1dd97aeb4a
sub rbp, rcx
sub rbp, rdx
add rbp, rcx
add rbp, 0xffffffffffffffff
add rdi, 1
cmp r10, rdi
je 0x180003816
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + rdi]
mov byte [r9 + rdi], al
mov r11d, dword [0x180023450]
mov r8d, dword [0x180023454]
lea eax, [r11 - 1]
imul eax, r11d
mov edx, eax
not edx
mov esi, edx
and esi, 0x2f306abe
and eax, 0xd0cf9541
or eax, esi
xor eax, 0x2f306abf
or eax, edx
cmp eax, 0xffffffff
sete cl
setne bl
cmp r8d, 0xa
setl dl
cmp r8d, 9
setg r15b
or r15b, bl
xor r15b, 1
xor dl, cl
test r15b, dl
jne 0x180003771
xor r15b, dl
jne 0x180003771
jmp 0x180003900
not eax
test eax, eax
sete r9b
setne bl
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl al
mov ecx, eax
xor cl, bl
and cl, al
and dl, r9b
and al, bl
or al, dl
test cl, al
mov r10, qword [rsp + 0x30]
jne 0x180003598
xor cl, al
jne 0x180003598
jmp 0x180003902
mov rbp, qword [rsp + 0x38]
movabs rax, 0x402bdb26e71a918e
add rbp, rax
movabs rax, 0xbfd424d918e56e73
add rbp, rax
mov rdx, qword [rsp + 0x58]
movzx ecx, word [rdx + 6]
cmp rbp, rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
jb 0x180003505
mov r10d, dword [rdx + 0xb0]
cmp dword [rax + r10], 0
je 0x180003f24
mov rsi, qword [rdx + 0x30]
movabs rcx, 0x63fd610d15ec94ee
lea rdx, [rax + rcx]
sub rsi, rdx
add rsi, rcx
neg rsi
add r10, rax
mov ecx, 0xffffffe0
add rcx, 0x1f
mov qword [rsp + 0x48], rcx
mov dl, 1
movabs rax, 0x40f65a16c8805cb2
mov qword [rsp + 0x30], r10
jmp 0x180003a45
jmp 0x1800038f0
jmp 0x180003900
jmp 0x180003902
jmp 0x180003904
add r8, rsi
mov qword [rsp + 0x48], r8
mov eax, dword [rsi + rbp + 0x20]
mov r15d, dword [rsi + rbp + 0x24]
add rax, rsi
add r15, rsi
mov rcx, qword [rsp + 0x38]
lea rdx, section..data
lea rbp, [rcx + rdx]
add rbp, 0x408
xor edi, edi
mov qword [rsp + 0x30], rsi
mov edx, dword [rax]
add rdx, rsi
xor esi, esi
movzx ebx, byte [rbp + rsi]
movzx r8d, byte [rdx + rsi]
cmp bl, r8b
sete r9b
setne cl
test bl, bl
setne r10b
xor cl, r10b
xor cl, 1
or r9b, r10b
xor r9b, 1
or r9b, cl
jne 0x18000397b
xor r9b, 1
add rsi, 1
test r9b, r9b
jne 0x180003942
cmp bl, r8b
je 0x1800039a1
add edi, 1
add rax, 4
add r15, 2
cmp edi, dword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
jne 0x18000393b
xor ebp, ebp
jmp 0x1800039b5
xor esi, esi
jmp 0x1800032e4
movzx eax, word [r15]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax*4]
mov rbp, qword [rsp + 0x30]
add rbp, rax
mov edi, dword [rsp + 0x40]
jmp 0x180003414
mov rax, qword [rsp + 0x30]
mov ebp, dword [rax + 4]
movabs rax, 0x40f65a16c8805cb2
mov r15, qword [rsp + 0x30]
lea r10, [r15 + rbp]
lea ecx, [rdi - 1]
imul ecx, edi
mov edx, ecx
not edx
mov ebx, edx
and ebx, 0x2de3bc17
and ecx, 0xd21c43e8
or ecx, ebx
xor ecx, 0x2de3bc16
or ecx, edx
cmp ecx, 0xffffffff
setne r8b
sete r11b
cmp r9d, 0xa
setl dl
cmp r9d, 9
setg cl
mov ebx, edx
or dl, r11b
and r11b, cl
and bl, r8b
or bl, r11b
xor cl, r8b
xor dl, 1
or dl, cl
xor dl, 1
mov ecx, ebx
and cl, dl
xor dl, bl
or dl, cl
cmp dword [r15 + rbp], 0
mov qword [rsp + 0x30], r10
je 0x180003f11
test dl, 1
je 0x180003a45
mov rcx, qword [rsp + 0x30]
mov ebp, dword [rcx + 4]
cmp rbp, 8
jb 0x1800039d0
lea rdx, [rax + rbp]
movabs rcx, 0x95d568075dddf4fc
mov rbx, rcx
sub rdx, rcx
sub rdx, rax
movabs rcx, 0x1fffffff8
add rdx, rcx
add rdx, rbx
shr rdx, 1
test edx, edx
je 0x1800039d0
mov rax, qword [rsp + 0x48]
mov rcx, rax
not rcx
mov rbp, rdx
not rbp
and rcx, rbp
and rdx, rax
or rdx, rcx
xor rbp, rdx
and rbp, rdx
mov qword [rsp + 0x38], rbp
xor ebp, ebp
jmp 0x180003acb
mov rbp, qword [rsp + 0x28]
add rbp, 1
cmp rbp, qword [rsp + 0x38]
je 0x1800039be
lea ecx, [rdi - 1]
imul ecx, edi
mov r15d, ecx
not r15d
and ecx, 0x54f6ac93
mov edx, r15d
and edx, 0xab09536c
or edx, ecx
xor edx, 0xab09536d
and r15d, 0xfffffffe
or r15d, edx
cmp r15d, 0xffffffff
sete bl
cmp r9d, 0xa
setl cl
xor bl, cl
mov edx, ebx
not dl
and dl, cl
test dl, bl
jne 0x180003b17
xor dl, bl
je 0x180003f0f
not r15d
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rbp
movzx ebp, word [rax + rbp*2 + 8]
mov ebx, ebp
shr ebx, 0xc
mov ecx, ebp
not ecx
and ecx, 0xfffff000
mov edx, ebp
xor edx, 0xfff
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x1c1b
and edx, 0x116fe3e4
or edx, ecx
xor edx, 0x116fe3e4
cmp ebp, 0xa000
jae 0x180003c6e
cmp ebx, 3
jne 0x180003ee2
mov eax, edx
mov ecx, dword [r10]
mov rdx, qword [rsp + 0x40]
lea r11, [rdx + rax*4]
add dword [r11 + rcx*4], esi
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea ecx, [rdi - 1]
imul ecx, edi
mov r15d, ecx
not r15d
and ecx, 0x1f3fd6
mov ebp, r15d
and ebp, 0xffe0c029
or ebp, ecx
xor ebp, 0xffe0c028
and r15d, 0xfffffffe
or r15d, ebp
cmp r15d, 0xffffffff
not r15d
sete bpl
setne cl
cmp r9d, 9
setg al
cmp r9d, 0xa
setl bl
mov r8d, ebx
xor r8b, cl
and r8b, bl
and al, bpl
and bl, cl
or bl, al
cmp r8b, bl
jne 0x180003ee2
xor r8b, 1
xor bl, 1
or bl, r8b
xor bl, 1
jne 0x180003ee2
mov eax, dword [r10]
add dword [r11 + rax*4], esi
mov eax, dword [r10]
add dword [r11 + rax*4], esi
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea r15d, [rdi - 1]
imul r15d, edi
mov ecx, r15d
not ecx
mov ebp, ecx
and ebp, 0x87a6b994
and r15d, 0x7859466b
or r15d, ebp
xor r15d, 0x87a6b995
or r15d, ecx
cmp r15d, 0xffffffff
not r15d
sete cl
cmp r9d, 0xa
setl dl
xor cl, dl
mov ebx, ecx
not bl
and bl, dl
test bl, cl
jne 0x180003ee2
xor bl, cl
je 0x180003c00
jmp 0x180003ee2
cmp ebx, 0xa
jne 0x180003ee2
mov eax, dword [r10]
mov r8d, edx
movabs rcx, 0xb53896fc11128d9a
add r8, rcx
movabs rdx, 0xa8a9543712be6b9a
sub r8, rdx
sub r8, rcx
add r8, qword [rsp + 0x40]
movabs rcx, 0xf2d408b5357c654a
sub r8, rcx
add r8, rdx
add r8, rcx
movabs rcx, 0xbe8f673df9cad82a
mov rbx, rcx
add rcx, r8
movabs rdx, 0xe9efb8c761fca72e
mov rbp, rdx
sub rcx, rdx
sub rcx, rbx
add rcx, rax
movabs rdx, 0xa0c726110ef2c243
mov rax, rdx
sub rax, qword [rbp + rcx]
sub rax, rsi
movabs rbx, 0x7f95ca9841d19459
add rax, rbx
sub rdx, rax
add rdx, rbx
mov qword [rbp + rcx], rdx
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea ecx, [rdi - 1]
imul ecx, edi
mov r15d, ecx
not r15d
and ecx, 0xb314c3
mov edx, r15d
and edx, 0xff4ceb3c
or edx, ecx
xor edx, 0xff4ceb3d
and r15d, 0xfffffffe
or r15d, edx
cmp r15d, 0xffffffff
setne cl
sete bpl
cmp r9d, 9
setg dl
cmp r9d, 0xa
setl bl
xor bl, bpl
mov ebp, edx
and bpl, cl
xor dl, cl
or dl, bpl
not r15d
xor dl, 1
test bl, dl
jne 0x180003ee2
xor bl, dl
jne 0x180003ee2
mov eax, dword [r10]
movabs rdx, 0x5bfd638f4fc58409
lea rcx, [rdx + r8]
sub rdx, rcx
movabs rbp, 0x7a90a26e788c9c91
mov rcx, rbp
sub rcx, rax
sub rcx, rbp
movabs rax, 0x7a5ad83f66495f8b
sub rdx, rax
add rdx, rcx
add rdx, rax
movabs rcx, 0x964e5785e8968a3
mov rax, rcx
sub rax, rdx
sub rax, rcx
mov rcx, qword [rax]
movabs rdx, 0x30d731db71e5f203
mov rbp, rdx
sub rcx, rdx
movabs rdx, 0x27174bf5e59a3987
sub rcx, rdx
add rcx, rsi
add rcx, rdx
movabs rdx, 0xb5a1137f6d3c3e17
sub rcx, rdx
add rcx, rbp
add rcx, rdx
mov qword [rax], rcx
mov ecx, dword [r10]
mov rax, r8
movabs rdx, 0xe6d6d616a3d3155e
sub rax, rdx
movabs rbp, 0x6d670f7135241a7f
sub rax, rbp
add rax, rdx
movabs rdx, 0xc987136e40514459
sub rax, rdx
add rax, rcx
add rax, rdx
mov rcx, qword [rbp + rax]
movabs rdx, 0xc6fa3f5e7d662f98
add rcx, rdx
movabs rbx, 0x3141398db03c7ea4
add rcx, rbx
sub rcx, rdx
movabs rdx, 0x902caa4dc65da5b3
sub rcx, rdx
add rcx, rsi
add rcx, rdx
movabs rdx, 0x55995aee7d18615d
add rcx, rdx
sub rcx, rbx
sub rcx, rdx
mov qword [rbp + rax], rcx
mov edi, dword [0x180023458]
mov r9d, dword [0x18002345c]
lea ecx, [rdi - 1]
imul ecx, edi
mov r15d, ecx
not r15d
mov edx, r15d
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
xor r15d, ecx
and r15d, ecx
sete cl
setne al
cmp r9d, 9
setg dl
cmp r9d, 0xa
setl bl
and al, bl
and dl, cl
or dl, al
mov eax, ebx
xor al, cl
or bl, cl
xor bl, 1
or bl, al
xor bl, 1
test dl, bl
jne 0x180003ee2
xor dl, bl
je 0x180003d78
test r15d, r15d
sete cl
cmp r9d, 0xa
setl dl
mov ebx, ecx
xor bl, dl
or dl, cl
xor dl, 1
or dl, bl
xor dl, 1
test bl, dl
jne 0x180003ab7
xor bl, dl
jne 0x180003ab7
jmp 0x180003f0d
jmp 0x180003f0f
test dl, 1
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
je 0x180004d72
mov ecx, dword [rdx + 0x90]
mov qword [rsp + 0x48], rcx
mov edi, dword [rax + rcx + 0xc]
test edi, edi
je 0x180004d98
mov rax, qword [rsp + 0x40]
add qword [rsp + 0x48], rax
add rax, 2
mov qword [rsp + 0x90], rax
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0xfffffffe
and edx, 1
or edx, ebp
not edx
or edx, eax
cmp edx, 0xffffffff
sete r8b
setne bl
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
mov edx, ecx
xor dl, bl
and dl, cl
and al, r8b
and cl, bl
or cl, al
cmp dl, cl
jne 0x180003fad
xor dl, 1
xor cl, 1
or cl, dl
xor cl, 1
je 0x180004d84
mov rbp, qword gs:[0x60]
mov eax, dword [0x180023460]
mov edx, dword [0x180023464]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov ebx, eax
and ebx, 0xfffffffe
and ecx, 1
or ecx, ebx
xor eax, ecx
test eax, ecx
setne al
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, al
xor dl, 1
mov ebx, ecx
and bl, al
xor cl, al
or cl, bl
xor cl, 1
mov eax, dword [0x180023470]
lea ebx, [rax - 1]
imul ebx, eax
mov eax, ebx
not eax
mov esi, eax
and esi, 0x714b309
and ebx, 0xf8eb4cf6
or ebx, esi
xor ebx, 0xf8eb4cf7
xor eax, ebx
test eax, ebx
setne r9b
sete bl
cmp dword [0x180023474], 9
setg al
test dl, cl
jne 0x180004040
xor dl, cl
je 0x180004d86
mov ecx, edi
add rcx, qword [rsp + 0x40]
mov qword [rsp + 0x80], rcx
xor bl, al
mov ecx, ebx
xor cl, 1
and r9b, al
or r9b, cl
xor cl, r9b
xor cl, 1
or r9b, bl
xor r9b, 1
or r9b, cl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x18000407a
test r9b, 1
je 0x180004d76
movabs rcx, 0x44b3eae0e85c77d4
mov rdx, rcx
add rax, rcx
sub rax, qword [rsp + 0x60]
movabs rcx, 0xc2a82b3e687492da
add rax, rcx
sub rax, rdx
sub rax, rcx
je 0x180004169
mov r10, qword [r8 + 0x60]
xor r15d, r15d
mov rbx, rax
movzx edx, word [r10 + r15*2]
test edx, edx
setne cl
movsx esi, byte [r14 + r15 + 1]
lea r11d, [rdx - 0x41]
lea ebp, [rdx + 0x20]
cmp r11w, 0x1a
cmovae ebp, edx
lea r11d, [rsi - 0x41]
lea edi, [rsi + 0x20]
cmp r11b, 0x1a
cmovae edi, esi
sub ebp, edi
sete r11b
setne sil
and sil, cl
or edx, ebp
sete dl
or dl, sil
mov esi, ecx
and sil, r11b
xor cl, r11b
or cl, sil
xor cl, 1
test dl, cl
jne 0x180004161
xor dl, cl
jne 0x180004161
movabs rcx, 0xb7a214703fcff7f4
sub rbx, rcx
movabs rdx, 0x9b8659efdfeeab5
sub rbx, rdx
add rbx, rcx
movabs rcx, 0xce890f8dfd3dd3ec
sub rbx, rcx
add rbx, rdx
add rbx, rcx
add rbx, 0xffffffffffffffff
add r15, 1
cmp rax, r15
jne 0x1800040c6
jmp 0x180004169
test ebp, ebp
jne 0x180004074
mov rbp, qword [r8 + 0x30]
movsxd rcx, dword [rbp + 0x3c]
mov edx, dword [0x180023478]
lea r15d, [rdx - 1]
imul r15d, edx
mov eax, r15d
not eax
mov edx, eax
and edx, 0x50811471
and r15d, 0xaf7eeb8e
or r15d, edx
xor r15d, 0xaf7eeb8f
xor eax, r15d
mov dword [rsp + 0x38], eax
mov rax, rbp
mov qword [rsp + 0x28], rbp
cmp dword [rbp + rcx + 0x8c], 0
mov eax, dword [0x18002347c]
mov dword [rsp + 0x50], eax
je 0x18000430f
mov rax, qword [rsp + 0x28]
mov ebp, dword [rax + rcx + 0x88]
test dword [rsp + 0x38], r15d
sete dl
setne cl
mov eax, dword [rsp + 0x50]
cmp eax, 9
setg bl
cmp eax, 0xa
setl al
and al, cl
and dl, bl
or dl, al
mov eax, ebx
and al, cl
xor bl, cl
or bl, al
xor bl, 1
test dl, bl
jne 0x180004208
xor dl, bl
je 0x180004d90
mov rax, qword [rsp + 0x28]
cmp dword [rax + rbp + 0x14], 0
je 0x18000430f
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + rbp + 0x18]
mov dword [rsp + 0x30], eax
test eax, eax
je 0x18000430f
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + rbp + 0x1c]
mov qword [rsp + 0x78], rax
mov eax, dword [0x180023480]
mov edi, dword [0x180023484]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0x5f3bbab2
and edx, 0xa0c4454d
or edx, ebx
xor edx, 0x5f3bbab3
or edx, eax
cmp edx, 0xffffffff
sete r9b
setne al
cmp edi, 9
setg cl
cmp edi, 0xa
setl dl
mov ebx, edx
xor bl, al
and bl, dl
and cl, r9b
and dl, al
or dl, cl
test bl, dl
jne 0x180004298
xor bl, dl
je 0x180004d96
mov rax, qword [rsp + 0x28]
add qword [rsp + 0x78], rax
mov r10d, dword [rax + rbp + 0x20]
mov ebx, dword [rax + rbp + 0x24]
add r10, rax
add rbx, rax
xor ebp, ebp
mov edi, dword [r10]
add rdi, qword [rsp + 0x28]
mov rsi, r13
movzx ecx, byte [rsi]
movzx edx, byte [rdi]
cmp cl, dl
sete al
setne r8b
test cl, cl
setne r9b
sete r11b
and r8b, r11b
and r9b, al
or r9b, r8b
xor r11b, r9b
cmp r11b, 1
jne 0x1800042f6
add rdi, 1
add rsi, 1
test r9b, r9b
jne 0x1800042be
cmp cl, dl
je 0x180004d5b
add ebp, 1
add r10, 4
add rbx, 2
cmp ebp, dword [rsp + 0x30]
jne 0x1800042b3
xor eax, eax
mov qword [rsp + 0x28], rax
test dword [rsp + 0x38], r15d
setne dl
cmp dword [rsp + 0x50], 9
setg cl
mov eax, ecx
or al, dl
mov ebx, eax
xor bl, 1
xor cl, dl
cmp bl, cl
jne 0x180004342
xor cl, 1
or al, cl
xor al, 1
je 0x180004d8a
mov rcx, qword [rsp + 0x80]
call qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rcx
mov r8, qword [rax + rcx]
test r8, r8
je 0x180004d40
mov rax, qword [rsp + 0x40]
add qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x10]
add rcx, rax
mov qword [rsp + 0x80], rcx
mov edi, dword [0x180023458]
mov esi, dword [0x18002345c]
lea ebp, [rdi - 1]
imul ebp, edi
mov edx, ebp
not edx
and edx, 0xfddac6a7
and ebp, 0x2253958
or ebp, edx
mov edx, ebp
xor edx, 0x2253958
and edx, 0xfffffffe
xor ebp, 0xfddac6a6
or ebp, edx
cmp ebp, 0xffffffff
setne dl
sete al
cmp esi, 0xa
setl bl
cmp esi, 9
setg cl
and cl, al
and dl, bl
or dl, cl
mov ecx, ebx
xor cl, al
or bl, al
xor bl, 1
or bl, cl
xor bl, 1
test dl, bl
jne 0x180004400
xor dl, bl
je 0x180004d8e
mov rax, r8
not rax
movabs rbp, 0xecfb618925e3ecc5
mov rcx, rbp
not rcx
and rax, 0xffffffffffff0000
mov rdx, r8
xor rdx, 0xffff
or rdx, rax
mov rax, rbp
and rax, rcx
xor rcx, rbp
or rcx, rax
not rdx
xor rcx, rdx
not rcx
and rcx, rdx
mov rax, qword [rsp + 0x90]
add rax, r8
test r8, r8
cmovs rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [0x180023468]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x9c70f6a2
and ecx, 0x638f095d
or ecx, eax
mov eax, ecx
xor eax, 0x638f095c
and eax, 0xfffffffe
xor ecx, 0x9c70f6a3
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x18002346c], 0xa
setl dl
xor al, dl
mov ecx, eax
not cl
and cl, dl
test cl, al
jne 0x18000455b
xor cl, al
jne 0x18000455b
jmp 0x180004d78
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
call r8
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
mov ecx, dword [0x180023468]
mov eax, dword [0x18002346c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xe0d050b
and edx, 0xf1f2faf4
or edx, ecx
mov ecx, edx
xor ecx, 0xf1f2faf4
xor edx, 0x209040a
and edx, 0xc24bc68a
mov ebp, ecx
and ebp, 0x3db43975
or ebp, edx
xor ebp, 0x3db43974
and ecx, 0xfffffffe
or ecx, ebp
mov edx, ecx
not edx
and edx, 0xe6ef4b73
and ecx, 0x1910b48c
or ecx, edx
xor ecx, 0x1910b48c
setne dl
sete bl
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
and bl, al
and cl, dl
or cl, bl
mov ebx, eax
and bl, dl
xor al, dl
or al, bl
xor al, 1
test cl, al
je 0x1800044a7
mov rdi, qword gs:[0x60]
mov eax, dword [0x180023460]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0xd5a2b657
and edx, 0x2a5d49a8
or edx, ebp
xor edx, 0x2a5d49a9
xor eax, edx
test eax, edx
sete bl
setne al
cmp dword [0x180023464], 0xa
setl dl
xor al, dl
xor al, 1
mov ecx, edx
xor cl, bl
or dl, bl
xor dl, 1
or dl, cl
xor dl, 1
mov ecx, dword [0x180023470]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
not ecx
mov ebx, ecx
and ebx, 0xfffffffe
and ebp, 1
or ebp, ebx
not ebp
or ebp, ecx
cmp ebp, 0xffffffff
setne bl
cmp dword [0x180023474], 9
setg r9b
test al, dl
jne 0x1800045eb
xor al, dl
je 0x180004d7a
mov eax, r9d
or al, bl
xor r9b, bl
xor r9b, 1
mov ecx, eax
xor cl, r9b
or r9b, al
xor r9b, 1
or r9b, cl
mov rax, qword [rdi + 0x18]
add rax, 0x10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rdx, r14
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x180004623
test r9b, r9b
je 0x180004d70
movabs rcx, 0xc95b7369b07e17ff
mov rax, rcx
sub rax, qword [rsp + 0x60]
sub rax, rcx
movabs rcx, 0x3eb9d09f557fd56e
sub rdx, rcx
add rdx, rax
add rdx, rcx
je 0x1800046f4
mov rax, qword [rsp + 0x28]
mov r10, qword [rax + 0x60]
xor esi, esi
mov rax, rdx
movzx edi, word [r10 + rsi*2]
test edi, edi
setne r11b
lea ebx, [rdi - 0x41]
lea ebp, [rdi + 0x20]
cmp bx, 0x1a
cmovae ebp, edi
movsx ebx, byte [r14 + rsi + 1]
lea r15d, [rbx - 0x41]
lea ecx, [rbx + 0x20]
cmp r15b, 0x1a
cmovae ecx, ebx
sub ebp, ecx
setne r15b
sete bl
or bl, r11b
mov r8d, ebx
xor r8b, 1
and r15b, r11b
or edi, ebp
sete cl
or cl, r15b
cmp r8b, cl
jne 0x1800046ec
xor cl, 1
or bl, cl
xor bl, 1
jne 0x1800046ec
movabs rbp, 0xb06fae9795a1339e
mov rcx, rbp
not rcx
add rax, rcx
add rax, rbp
add rsi, 1
cmp rdx, rsi
jne 0x180004672
jmp 0x1800046f4
test ebp, ebp
jne 0x180004613
mov rax, qword [rsp + 0x28]
mov r10, qword [rax + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [0x180023478]
lea r9d, [rcx - 1]
imul r9d, ecx
mov edx, r9d
not edx
mov ecx, edx
and ecx, 0xfffffffe
and r9d, 1
or r9d, ecx
xor edx, r9d
mov dword [rsp + 0x30], edx
cmp dword [r10 + rax + 0x8c], 0
mov ecx, dword [0x18002347c]
mov dword [rsp + 0x38], ecx
je 0x180004860
mov esi, dword [r10 + rax + 0x88]
test dword [rsp + 0x30], r9d
sete cl
setne bl
mov eax, dword [rsp + 0x38]
cmp eax, 9
setg dl
cmp eax, 0xa
setl al
and al, bl
and cl, dl
or cl, al
mov eax, edx
and al, bl
xor dl, bl
or dl, al
xor dl, 1
test cl, dl
jne 0x180004780
xor cl, dl
je 0x180004d88
cmp dword [r10 + rsi + 0x14], 0
je 0x180004860
mov eax, dword [r10 + rsi + 0x18]
mov dword [rsp + 0x28], eax
test eax, eax
je 0x180004860
mov eax, dword [r10 + rsi + 0x1c]
mov qword [rsp + 0x70], rax
mov eax, dword [0x180023480]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
not ecx
or ecx, eax
cmp ecx, 0xffffffff
setne al
cmp dword [0x180023484], 9
setg dl
mov ecx, edx
or cl, al
mov ebx, ecx
xor bl, 1
xor dl, al
cmp bl, dl
jne 0x1800047f2
xor dl, 1
or cl, dl
xor cl, 1
je 0x180004d92
add qword [rsp + 0x70], r10
mov ecx, dword [r10 + rsi + 0x20]
mov edx, dword [r10 + rsi + 0x24]
add rcx, r10
add rdx, r10
xor edi, edi
mov ebp, dword [rcx]
add rbp, r10
mov rsi, r12
movzx eax, byte [rsi]
movzx ebx, byte [rbp]
cmp al, bl
sete r11b
test al, al
setne r15b
mov r8d, r15d
xor r8b, r11b
or r15b, r11b
xor r15b, 1
or r15b, r8b
jne 0x180004847
xor r15b, 1
add rbp, 1
add rsi, 1
test r15b, r15b
jne 0x180004811
cmp al, bl
je 0x180004cf2
add edi, 1
add rcx, 4
add rdx, 2
cmp edi, dword [rsp + 0x28]
jne 0x180004809
xor r10d, r10d
test dword [rsp + 0x30], r9d
sete dl
cmp dword [rsp + 0x38], 0xa
setl al
xor dl, al
mov ecx, edx
xor cl, 1
and al, cl
cmp al, dl
jne 0x18000488c
xor al, 1
or al, cl
xor al, 1
je 0x180004d7c
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
call r10
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
mov edi, dword [0x180023458]
mov esi, dword [0x18002345c]
lea eax, [rdi - 1]
imul eax, edi
mov ebp, eax
not ebp
mov ebx, ebp
and ebx, 0xfffffffe
and eax, 1
or eax, ebx
not eax
or eax, ebp
cmp eax, 0xffffffff
sete cl
setne r8b
cmp esi, 0xa
setl bl
cmp esi, 9
setg al
and cl, al
or al, r8b
mov edx, eax
xor dl, 1
and bl, r8b
or bl, cl
cmp dl, bl
jne 0x180004d16
xor bl, 1
or al, bl
xor al, 1
jne 0x180004d16
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0xdee7c14f
and edx, 0x21183eb0
or edx, ebp
xor edx, 0xdee7c14e
or edx, eax
cmp edx, 0xffffffff
sete dl
setne bl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
and dl, cl
or cl, bl
xor cl, 1
and al, bl
or al, dl
test cl, al
jne 0x18000495c
xor cl, al
je 0x180004d7e
mov rdi, qword gs:[0x60]
mov eax, dword [0x180023460]
mov esi, dword [0x180023464]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0x16ff6212
and edx, 0xe9009ded
or edx, ebp
xor edx, 0x16ff6213
or edx, eax
cmp edx, 0xffffffff
sete bl
setne cl
cmp esi, 9
setg dl
cmp esi, 0xa
setl al
mov r10d, edx
xor dl, cl
and cl, al
and r10b, bl
or r10b, cl
or al, bl
xor al, 1
or al, dl
xor al, 1
mov ecx, dword [0x180023470]
mov ebp, dword [0x180023474]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0x1fd61454
and edx, 0xe029ebab
or edx, ecx
mov ecx, edx
xor ecx, 0xe029ebaa
and ecx, 0xfffffffe
xor edx, 0x1fd61455
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x22583532
and edx, 0xdda7cacd
or edx, ecx
xor edx, 0xdda7cacd
setne r9b
sete r8b
cmp ebp, 0xa
setl bl
cmp ebp, 9
setg cl
test r10b, al
jne 0x180004a2e
xor r10b, al
je 0x180004d80
and cl, r8b
and r9b, bl
or r9b, cl
mov eax, ebx
xor al, r8b
or bl, r8b
xor bl, 1
or bl, al
mov eax, ebx
xor al, r9b
xor r9b, 1
xor al, 1
or r9b, bl
xor r9b, 1
or r9b, al
mov r8, qword [rdi + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180004a67
test r9b, 1
je 0x180004d74
movabs rcx, 0xf796d8be2b74abf2
mov rdx, rcx
add rax, rcx
mov rcx, qword [rsp + 0x60]
sub rcx, rax
movabs r11, 0x50c76b3495b7801a
add rcx, r11
add rcx, rdx
sub r11, rcx
movabs r15, 0x8bdd28cad150f4ee
je 0x180004b2b
mov r10, qword [r8 + 0x60]
xor esi, esi
mov rdx, r11
movzx ebx, word [r10 + rsi*2]
test ebx, ebx
setne al
movsx ebp, byte [r14 + rsi + 1]
lea ecx, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmp cx, 0x1a
cmovae edi, ebx
lea ecx, [rbp - 0x41]
lea ebx, [rbp + 0x20]
cmp cl, 0x1a
cmovae ebx, ebp
sub edi, ebx
sete cl
mov ebx, eax
xor bl, cl
and al, cl
or al, bl
xor bl, 1
cmp bl, al
jne 0x180004b23
or bl, al
xor bl, 1
jne 0x180004b23
sub rdx, r15
movabs rax, 0x212ac824affbb0f1
add rdx, rax
add rdx, r15
not rax
add rdx, rax
add rsi, 1
cmp r11, rsi
jne 0x180004abb
jmp 0x180004b2b
test edi, edi
jne 0x180004a61
mov r8, qword [r8 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [0x180023478]
lea r9d, [rcx - 1]
imul r9d, ecx
mov edx, r9d
not edx
mov ecx, edx
and ecx, 0xd59a33fb
and r9d, 0x2a65cc04
or r9d, ecx
xor r9d, 0x2a65cc05
xor edx, r9d
mov dword [rsp + 0x30], edx
cmp dword [r8 + rax + 0x8c], 0
mov ecx, dword [0x18002347c]
mov dword [rsp + 0x38], ecx
je 0x180004caa
mov esi, dword [r8 + rax + 0x88]
test dword [rsp + 0x30], r9d
sete r11b
setne al
mov ecx, dword [rsp + 0x38]
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl cl
mov edx, ecx
xor dl, al
and dl, cl
and bl, r11b
and cl, al
or cl, bl
test dl, cl
jne 0x180004bbc
xor dl, cl
je 0x180004d8c
cmp dword [r8 + rsi + 0x14], 0
je 0x180004caa
mov eax, dword [r8 + rsi + 0x18]
mov dword [rsp + 0x28], eax
test eax, eax
je 0x180004caa
mov eax, dword [r8 + rsi + 0x1c]
mov qword [rsp + 0x70], rax
mov eax, dword [0x180023480]
mov ecx, dword [0x180023484]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0xfffffffe
xor edx, 1
or edx, eax
mov eax, edx
not eax
and eax, 0x18f91ff0
and edx, 0xe706e00f
or edx, eax
xor edx, 0xe706e00f
setne al
sete bl
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
xor cl, bl
xor cl, 1
mov ebx, edx
and bl, al
xor dl, al
or dl, bl
cmp cl, dl
jne 0x180004c46
or cl, dl
xor cl, 1
je 0x180004d94
add qword [rsp + 0x70], r8
mov ecx, dword [r8 + rsi + 0x20]
mov r15d, dword [r8 + rsi + 0x24]
add rcx, r8
add r15, r8
xor edi, edi
mov ebp, dword [rcx]
add rbp, r8
mov rsi, r12
movzx ebx, byte [rsi]
movzx eax, byte [rbp]
cmp bl, al
setne dl
test bl, bl
sete r11b
mov r10d, r11d
and r10b, dl
xor r11b, dl
or r11b, r10b
jne 0x180004c95
add rbp, 1
add rsi, 1
mov dl, 1
test dl, dl
je 0x180004c95
jne 0x180004c65
cmp bl, al
je 0x180004d05
add edi, 1
add rcx, 4
add r15, 2
cmp edi, dword [rsp + 0x28]
jne 0x180004c5d
xor r8d, r8d
test dword [rsp + 0x30], r9d
sete dl
setne r9b
mov eax, dword [rsp + 0x38]
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
and dl, al
or al, r9b
mov ebx, eax
xor bl, 1
and cl, r9b
or cl, dl
cmp bl, cl
jne 0x1800044b4
xor cl, 1
or al, cl
xor al, 1
jne 0x1800044b4
jmp 0x180004d82
movzx eax, word [rdx]
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx + rax*4]
add r10, rax
jmp 0x180004863
movzx eax, word [r15]
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx + rax*4]
add r8, rax
jmp 0x180004cad
add qword [rsp + 0x80], 8
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x88], rax
test r8, r8
jne 0x1800043a0
mov rax, qword [rsp + 0x48]
mov edi, dword [rax + 0x20]
add rax, 0x14
mov qword [rsp + 0x48], rax
test edi, edi
jne 0x180003f51
jmp 0x180004d98
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax*4]
add qword [rsp + 0x28], rax
jmp 0x180004316
jmp 0x180004d70
jmp 0x180004d72
jmp 0x180004d74
jmp 0x180004d76
jmp 0x180004d78
jmp 0x180004d7a
jmp 0x180004d7c
jmp 0x180004d7e
jmp 0x180004d80
jmp 0x180004d82
jmp 0x180004d84
jmp 0x180004d86
jmp 0x180004d88
jmp 0x180004d8a
jmp 0x180004d8c
jmp 0x180004d8e
jmp 0x180004d90
jmp 0x180004d92
jmp 0x180004d94
jmp 0x180004d96
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x28]
mov rcx, qword [rsp + 0x40]
add rcx, rax
call rcx
xor eax, eax
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret