Function at 0x1800011e0
Capabilities:
Check os version
Encode data using xor
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, 0x138
movdqa xmmword [rsp + 0x120], xmm15
movdqa xmmword [rsp + 0x110], xmm14
movdqa xmmword [rsp + 0x100], xmm13
movdqa xmmword [rsp + 0xf0], xmm12
movdqa xmmword [rsp + 0xe0], xmm11
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xc0], xmm9
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
movabs r9, 0xbf0523728a9013d
lea r10, [rsp + 0x74]
mov r8d, 1
lea rdi, section..data
mov esi, 4
nop word cs:[rax + rax]
mov r15d, dword [0x180023458]
mov r14d, dword [0x18002345c]
lea ebx, [r15 - 1]
imul ebx, r15d
mov eax, ebx
not eax
and eax, 0xc4e5eeb9
and ebx, 0x3b1a1146
or ebx, eax
mov eax, ebx
xor eax, 0x3b1a1146
xor ebx, 0x8005acb9
and ebx, 0x9907adfb
mov ebp, eax
and ebp, 0x66f85204
or ebp, ebx
xor ebp, 0x66f85205
and eax, 0xfffffffe
or eax, ebp
mov ebp, eax
not ebp
and ebp, 0x12bfca17
and eax, 0xed4035e8
or eax, ebp
xor eax, 0xed4035e8
setne r11b
cmp r14d, 9
setg bl
mov eax, ebx
or al, r11b
xor bl, r11b
xor bl, 1
mov edx, eax
xor dl, bl
or bl, al
xor bl, 1
or bl, dl
nop word cs:[rax + rax]
test bl, bl
je 0x180001310
cmp rsi, 1
jb 0x180001335
add rsi, r9
sub rsi, r8
sub rsi, r9
mov al, byte [rdi]
add rdi, 1
mov byte [r10], al
add r10, 1
jmp 0x180001280
mov eax, dword [0x180023460]
mov edx, dword [0x180023464]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
not eax
and eax, 0xfffffffe
xor ebp, 1
or ebp, eax
cmp ebp, 0xffffffff
setne r8b
sete al
cmp edx, 0xa
setl bl
cmp edx, 9
setg dl
and dl, al
and r8b, bl
or r8b, dl
mov edx, ebx
xor dl, al
or bl, al
xor bl, 1
or bl, dl
mov eax, ebx
xor al, r8b
xor r8b, 1
xor al, 1
or r8b, bl
xor r8b, 1
or r8b, al
test r8b, 1
je 0x180001480
mov r12d, dword [rsp + 0x74]
movabs r9, 0x28efb87fa919eb54
xor edi, edi
mov rbp, r9
not rbp
mov r11, rbp
and r11, 0xfffffffffffffc00
lea rsi, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rdi, r12
je 0x180001482
mov rax, rdi
not rax
mov rcx, r9
and rcx, rax
mov rdx, rdi
and rdx, rbp
or rdx, rcx
mov ecx, r9d
and ecx, 0x3ff
or rcx, r11
xor rcx, rdx
xor rax, rcx
and rax, rcx
movzx eax, byte [rax + rsi + 4]
movzx r10d, byte [rdi + rsi + 0x404]
mov edx, r10d
not dl
and dl, 0xc9
mov ebx, r10d
and bl, 0x36
or bl, dl
mov edx, eax
not dl
xor bl, 0xc9
or bl, dl
mov ecx, ebx
not cl
and dl, 0xfe
and al, 1
or al, dl
xor al, r10b
xor al, 0xfe
and al, r10b
mov edx, eax
not dl
mov r10d, ebx
and r10b, 0x94
and cl, 0x6b
or cl, r10b
or bl, dl
and dl, 0x94
and al, 0x6b
or al, dl
xor al, cl
not bl
or bl, al
mov byte [rdi + rsi + 0x404], bl
add rdi, 1
test r8b, 1
jne 0x1800013d0
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001480
movabs r13, 0xb1781a297fff50c9
mov rax, r12
movabs r12, 0x9dc0cb673e58ed97
movabs r11, 0x44913d34d10ff1b2
movabs r9, 0x32a3d4269a884dbc
mov qword [rsp + 0x38], rax
lea r10, [rax + rsi]
add r10, 0x404
mov qword [rsp + 0x20], r10
nop word cs:[rax + rax]
nop dword [rax]
mov edi, 4
lea r8, [rsp + 0x54]
mov rsi, r10
nop dword [rax]
lea edx, [r15 - 1]
imul edx, r15d
mov ebx, edx
not ebx
and ebx, 0xfffffffe
xor edx, 1
or edx, ebx
cmp edx, 0xffffffff
sete bl
setne dl
cmp r14d, 9
setg cl
cmp r14d, 0xa
setl r10b
and r10b, dl
and bl, cl
or bl, r10b
mov eax, ecx
and al, dl
xor cl, dl
or cl, al
mov eax, ecx
xor al, bl
xor bl, 1
xor al, 1
or bl, cl
xor bl, 1
or bl, al
nop dword [rax]
test bl, 1
je 0x180001530
cmp rdi, 1
jb 0x180001580
add rdi, r12
add rdi, r9
sub rdi, r12
add rdi, r13
sub rdi, r9
mov rax, r13
not rax
add rdi, rax
mov al, byte [rsi]
add rsi, 1
mov byte [r8], al
add r8, 1
mov r15d, dword [0x180023458]
mov r14d, dword [0x18002345c]
jmp 0x1800014e0
mov eax, dword [0x180023460]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x77c4ff73
and ecx, 0x883b008c
or ecx, eax
mov eax, ecx
xor eax, 0x883b008c
and eax, 0xfffffffe
xor ecx, 0x77c4ff72
or ecx, eax
mov eax, ecx
not eax
and eax, 0x37602dc1
and ecx, 0xc89fd23e
or ecx, eax
xor ecx, 0xc89fd23e
sete al
cmp dword [0x180023464], 0xa
setl cl
xor al, cl
mov ebx, eax
not bl
and bl, cl
test bl, al
jne 0x1800016c1
xor bl, al
jne 0x1800016c1
mov esi, 4
lea rdi, [rsp + 0x54]
mov r10, qword [rsp + 0x20]
mov rbp, r10
nop dword [rax]
lea ecx, [r15 - 1]
imul ecx, r15d
mov edx, ecx
not edx
mov ebx, edx
and ebx, 0x15a60903
and ecx, 0xea59f6fc
or ecx, ebx
xor ecx, 0x15a60902
or ecx, edx
cmp ecx, 0xffffffff
setne r8b
sete dl
cmp r14d, 9
setg al
cmp r14d, 0xa
setl cl
mov ebx, ecx
xor bl, dl
xor al, r8b
or cl, dl
xor cl, 1
or cl, al
mov eax, ecx
xor al, bl
xor bl, 1
xor al, 1
or bl, cl
xor bl, 1
or bl, al
nop word [rax + rax]
test bl, 1
je 0x180001660
movabs rax, 0xb320f52e82424706
mov rdx, rax
add rax, rsi
movabs rcx, 0xc25f1525bfba67f6
add rax, rcx
sub rax, rdx
add rax, r11
sub rax, rcx
mov rbx, r11
not rbx
add rbx, rax
cmp rsi, 1
jb 0x1800014d0
mov al, byte [rbp]
add rbp, 1
mov byte [rdi], al
add rdi, 1
mov r15d, dword [0x180023458]
mov r14d, dword [0x18002345c]
mov rsi, rbx
jmp 0x180001600
add qword [rsp + 0x20], 4
mov edi, dword [rsp + 0x54]
test rdi, rdi
je 0x1800020d2
cmp edi, 0x1f
seta r8b
cmp edi, 0x20
setb al
movabs rcx, 0xe973bae13e72d7ea
lea rbp, [rdi + rcx]
movabs rbx, 0xe8e75868306235dd
sub rbp, rbx
sub rbp, rcx
lea rcx, [rbx + rbp]
add rcx, 0xffffffffffffffff
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 r11d, r11d
test cl, al
mov qword [rsp + 0x48], rdi
jne 0x180001f16
xor cl, al
jne 0x180001f16
movabs rax, 0x640443c3aa16679e
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
sub rcx, rax
lea rsi, section..data
add rcx, rsi
add rax, rcx
add rax, 0x408
lea rcx, [rdi + rdx]
lea rcx, [rsi + rcx + 0x408]
movabs rdx, 0x54a178c1236a9c1b
lea rbp, [rdi + rdx]
movabs rbx, 0x2888fa256fe6a6b1
add rbp, rbx
sub rdx, rbp
movabs rbp, 0x94654b3e4743830c
add rdx, rbp
add rdx, rbx
add rdx, 0xfffffffffffffffc
mov rbx, rsi
sub rbx, rdx
add rbx, rbp
cmp rax, rbx
setae al
lea rdx, str.oGUDrrByiiWjcqJqPLQwUxMtfegGOEPHyyemxMAlrMcVsKMDDnzUDBmqmhmdSKncficEkoMFbOqFtJPMaDAqpxYupXuvCKduEiBuXTweHgLYFYOBJFhAOtQIgIoKvKbrHxrziOAVwlLsfbvyxsFzlfPJtxCHBDIUQYfWVyipYxhMxeEfCOepaPiPAyqcBXLyxLBUpKKPGnSrUjtlBSkJAqSnTVFsIkiWQLlHbbltIFfsIeEfnFCCMSdMDzyiPZEVVaJKUKwUGXhoJrJVVfHtPpgrEvRMoMUZeDzfKqRFUMGfTntgAsZTnSfwlwfYfJdJdzEeYiCHhaMCKvDLwwBPUYnvfQjTrMuSRsUAGRyCynDaqHUatWheyTDYIoseFHSMnkMWqIimjaHvTDEiQVJsVBJJKhwWgucBaJAXKqUbBpZVGcmpFZxqGLzhqlfrimUmEtxUAHHDAkcMulzuVpLQkwdjXpDwFjWpSWpjEpeBxnJsFZRRLyjtLyJGTKyVvbubvZnUqkfrDDQMmaqUtiyGUURghRUGEqqHpkvlkbntTolHSmpJbdMTxxJMLZRgMTrnPOudOKUVHxJsCToqhRCAPPixTCqBdnrsCtntkzWFFMvTgsbJbIvgqLQFgXQgpTVQClXqjrFzlRfORWXhQppwdTxXUeIToOQvfdYiAYqBqrrqcfjvzygncEEeWsoPwUcRRfIpDWHAbxLVmGCeqvPEzcVCPmXGnqpfiFYrpxVjSvQCWCHIxWgeFhQosIULqzYJUtgwmFDFeVAwLhHDQlUYlBvcsFrDOEhXiIvxyjVrrhStSYBdIHrklIcBSCzqQdgDtPdTKOQleuIRArxQibJPfMkSibVKPfWjrClPJJTChuqtetotkGBXUnEYCaJjCILpgqAyodVadyfmaVbncSAalVhmACtOEcyRhvbSulxhTsnQOdzLpBHwRLYwWlWIXkmCILoxaRMUoVaGwMFeSbZRXXWjXCMMkVTIpGMxloKguuAPjfewyMwyzgAbGhOXDls
cmp rcx, rdx
setbe cl
mov edx, eax
and dl, cl
xor al, cl
or al, dl
mov r13, rsi
jne 0x1800017db
xor al, 1
je 0x1800017db
xor r11d, r11d
jmp 0x180001f16
mov rax, rdi
not rax
mov ecx, eax
and ecx, 0x1f
mov r11d, edi
and r11d, 0xffffffe0
or r11d, ecx
not r11d
or r11, rax
not r11
movabs rax, 0x9d27094298696857
mov rcx, r11
sub rcx, rax
add rcx, rax
add rcx, 0xffffffffffffffe0
mov rax, rcx
shr rax, 5
add rax, 1
mov rdx, rax
not rdx
movabs rbp, 0x1efca2007f671dc
mov rbx, rdx
and rbx, rbp
not rbp
and rbp, rax
or rbp, rbx
movabs rbx, 0x1efca2007f671dd
xor rbx, rbp
or rbx, rdx
not rbx
test rcx, rcx
mov qword [rsp + 0x28], rbx
je 0x180001d20
movabs r15, 0xd6bc60fe0d927c68
movabs r9, 0x26e301c563ef601b
movabs r12, 0x806e06bbe8edcbd
movabs rcx, 0xc562162ec111f482
lea rdi, [rax + rcx]
movabs rdx, 0x16fbbfa9f24cb37a
sub rdi, rdx
sub rdi, rcx
sub rdi, rbx
movabs rcx, 0x87b41bdf1cf46cb3
sub rdi, rcx
add rdi, rdx
add rdi, rcx
mov rcx, qword [rsp + 0x38]
lea r14, [rcx + r13]
add r14, 0x418
mov rcx, rbx
sub rcx, rax
mov r8, 0xffffffffffffffff
xor ebp, ebp
pcmpeqd xmm10, xmm10
movdqa xmm9, xmmword [0x180005080]
mov r10, qword [rsp + 0x20]
nop
movabs rbx, 0xdd4c8f25db92e445
mov rdx, rbx
and rdx, r8
not rbx
mov rax, rbp
and rax, rbx
or rax, rdx
xor rax, rbx
mov rdx, r12
not rdx
mov rbx, rax
and rbx, 0xfffffffffffffc3f
xor rax, 0xfffffffffffffc3f
or rax, rbx
mov rbx, r12
and rbx, rdx
xor rdx, r12
or rdx, rbx
not rdx
or rdx, rax
mov rax, r9
not rax
or rax, r9
not rdx
and rdx, rax
movdqu xmm3, xmmword [rdx + r13 + 4]
movdqu xmm8, xmmword [rdx + r13 + 0x14]
movdqu xmm2, xmmword [r14 + rbp - 0x10]
movdqu xmm13, xmmword [r14 + rbp]
movdqa xmm5, xmmword [section..rdata]
movdqa xmm4, xmm5
pandn xmm4, xmm2
movdqa xmm1, xmm2
movdqa xmm6, xmmword [0x180005020]
pxor xmm1, xmm6
pand xmm1, xmm2
pandn xmm2, xmm5
por xmm4, xmm2
pxor xmm4, xmmword [0x180005010]
pand xmm4, xmm6
movdqa xmm2, xmm3
pxor xmm2, xmm6
movdqa xmm5, xmm3
pandn xmm5, xmm2
pand xmm2, xmm3
movdqa xmm3, xmm4
pand xmm3, xmm1
pxor xmm1, xmm4
por xmm1, xmm3
movdqa xmm3, xmm5
pxor xmm3, xmm10
movdqa xmm12, xmm2
pxor xmm12, xmm10
por xmm12, xmm3
movdqa xmm4, xmmword [0x180005030]
movdqa xmm3, xmm4
pandn xmm3, xmm5
pandn xmm5, xmm4
por xmm5, xmm3
movdqa xmm3, xmm4
pandn xmm3, xmm2
pandn xmm2, xmm4
por xmm2, xmm3
pxor xmm2, xmm5
pxor xmm12, xmm10
por xmm12, xmm2
movdqa xmm2, xmm1
pandn xmm2, xmm12
pandn xmm12, xmm1
por xmm12, xmm2
movdqa xmm14, xmm13
pxor xmm14, xmm10
movdqa xmm2, xmmword [0x180005040]
movdqa xmm1, xmm2
pandn xmm1, xmm13
pandn xmm13, xmm2
por xmm13, xmm1
pxor xmm13, xmm2
por xmm13, xmmword [0x180005060]
movdqa xmm1, xmm13
pxor xmm1, xmm10
movdqa xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
por xmm14, xmm2
movdqa xmm11, xmm8
pxor xmm11, xmm2
movdqa xmm15, xmm8
pandn xmm15, xmm11
pand xmm11, xmm8
movdqa xmm4, xmmword [0x180005070]
movdqa xmm2, xmm4
pandn xmm2, xmm1
movdqa xmm1, xmm14
pxor xmm1, xmm10
pand xmm13, xmm4
por xmm2, xmm13
movdqa xmm3, xmm4
pandn xmm3, xmm1
mov eax, r15d
not eax
mov edx, r8d
not edx
or eax, r15d
and eax, edx
and eax, 0x20
mov edx, r8d
and edx, 0x20
mov rbx, rbp
and rbx, 0xffffffffffffffdf
or rbx, rdx
mov edx, ebx
and edx, eax
xor rbx, rax
or rbx, rdx
movabs rsi, 0xe96a7fa0e72a2672
mov rax, rsi
and rax, 0xfffffffffffffc1f
not rsi
mov edx, esi
and edx, 0x3e0
or rdx, rax
xor rdx, rsi
mov rax, rbx
not rax
mov rsi, rdx
and rsi, rax
not rdx
and rdx, rbx
or rdx, rsi
xor rax, rdx
and rax, rdx
pand xmm14, xmm4
por xmm3, xmm14
pxor xmm3, xmm2
movdqa xmm1, xmm15
pand xmm1, xmm11
pxor xmm11, xmm15
por xmm11, xmm1
movdqa xmm1, xmm3
pandn xmm1, xmm11
pandn xmm11, xmm3
por xmm11, xmm1
movdqu xmmword [r14 + rbp - 0x10], xmm12
movdqu xmmword [r14 + rbp], xmm11
movdqu xmm4, xmmword [rax + r13 + 4]
movdqu xmm5, xmmword [r10 + rbx]
movdqa xmm1, xmm5
pxor xmm1, xmm9
pand xmm1, xmm5
por xmm5, xmmword [str.MMMMMMMMMMMMMMMM1111111111111111]
movdqa xmm6, xmm5
pxor xmm6, xmm10
movdqa xmm7, xmmword [0x1800050a0]
movdqa xmm3, xmm7
pandn xmm3, xmm4
movdqa xmm2, xmm4
pxor xmm2, xmm9
pand xmm2, xmm4
pandn xmm4, xmm7
por xmm3, xmm4
movdqa xmm4, xmm3
pxor xmm4, xmmword [0x1800050b0]
pxor xmm3, xmmword [0x1800050c0]
pand xmm3, xmm4
movdqa xmm0, xmmword [0x1800050d0]
movdqa xmm7, xmm0
pandn xmm7, xmm6
movdqa xmm4, xmm1
pxor xmm4, xmm10
por xmm4, xmm5
pand xmm5, xmm0
por xmm7, xmm5
movdqa xmm5, xmm0
pandn xmm5, xmm1
pandn xmm1, xmm0
por xmm1, xmm5
pxor xmm1, xmm7
pxor xmm4, xmm10
por xmm4, xmm1
movdqa xmm1, xmm3
pxor xmm1, xmm10
movdqa xmm5, xmm2
pxor xmm5, xmm10
por xmm5, xmm1
movdqa xmm1, xmm9
pandn xmm1, xmm3
pandn xmm3, xmm9
por xmm3, xmm1
movdqa xmm1, xmm9
pandn xmm1, xmm2
pandn xmm2, xmm9
por xmm2, xmm1
movdqu xmm1, xmmword [r10 + rbx + 0x10]
pxor xmm2, xmm3
pxor xmm5, xmm10
por xmm5, xmm2
movdqa xmm2, xmm4
pandn xmm2, xmm5
pandn xmm5, xmm4
por xmm5, xmm2
movdqa xmm2, xmm1
movdqa xmm4, xmmword [str.pppppppppppppppp]
movdqa xmm3, xmm4
pandn xmm3, xmm1
pandn xmm1, xmm4
por xmm1, xmm3
pxor xmm1, xmm4
movdqa xmm3, xmmword [str.aaaaaaaaaaaaaaaa]
movdqa xmm7, xmm3
por xmm1, xmm3
movdqa xmm3, xmm1
pxor xmm3, xmm10
movdqa xmm0, xmmword [0x180005110]
movdqa xmm4, xmm0
pandn xmm4, xmm3
movdqu xmm3, xmmword [rax + r13 + 0x14]
pxor xmm2, xmm10
movdqa xmm6, xmmword [0x1800050f0]
por xmm2, xmm6
pand xmm1, xmm0
por xmm4, xmm1
movdqa xmm1, xmm3
pxor xmm1, xmm6
pand xmm1, xmm3
por xmm3, xmm7
pand xmm2, xmm0
pxor xmm4, xmm2
movdqa xmm2, xmm3
pxor xmm2, xmm10
pandn xmm3, xmm1
pxor xmm1, xmm2
por xmm1, xmm3
movdqa xmm2, xmm4
pandn xmm2, xmm1
pandn xmm1, xmm4
por xmm1, xmm2
movdqu xmmword [r10 + rbx], xmm5
movdqu xmmword [r10 + rbx + 0x10], xmm1
add rbp, 0x40
add rdi, 0xfffffffffffffffe
add r8, 0xffffffffffffffc0
add rcx, 2
jne 0x1800018e0
jmp 0x180001d22
xor ebp, ebp
cmp qword [rsp + 0x28], 0
je 0x180001f0b
mov rax, rbp
not rax
movabs rcx, 0x9735e0499b0649f7
mov rdx, rax
and rdx, rcx
not rcx
and rcx, rbp
or rcx, rdx
movabs rdx, 0x9735e0499b064a17
xor rdx, rcx
or rdx, rax
not rdx
movdqu xmm3, xmmword [rdx + r13 + 4]
movdqu xmm9, xmmword [rdx + r13 + 0x14]
mov rax, qword [rsp + 0x20]
movdqu xmm6, xmmword [rax + rbp]
movdqu xmm2, xmmword [rax + rbp + 0x10]
pcmpeqd xmm0, xmm0
movdqa xmm4, xmm6
pxor xmm4, xmm0
movdqa xmm8, xmmword [0x180005120]
movdqa xmm11, xmmword [str.ssssssssssssssssFFFFFFFFFFFFFFFF]
por xmm6, xmm11
movdqa xmm13, xmm6
pxor xmm13, xmm0
por xmm4, xmm8
movdqa xmm10, xmm4
pxor xmm10, xmm0
movdqa xmm5, xmm3
pxor xmm5, xmm0
movdqa xmm12, xmmword [0x180005140]
movdqa xmm7, xmm12
pandn xmm7, xmm3
pandn xmm3, xmm12
por xmm3, xmm7
pxor xmm3, xmm12
por xmm3, xmm11
pxor xmm3, xmm0
por xmm5, xmm8
movdqa xmm8, xmm5
pxor xmm8, xmm0
movdqa xmm7, xmmword [0x180005150]
pand xmm6, xmm7
pand xmm4, xmm7
movdqa xmm1, xmm7
pandn xmm1, xmm13
por xmm1, xmm6
pandn xmm7, xmm10
por xmm7, xmm4
pxor xmm7, xmm1
movdqa xmm1, xmmword [0x180005160]
pand xmm5, xmm1
por xmm3, xmm1
pandn xmm1, xmm8
por xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm3, xmmword [0x180005170]
movdqa xmm4, xmm1
pandn xmm4, xmm3
movdqa xmm5, xmm3
pandn xmm5, xmm7
pandn xmm7, xmm3
por xmm7, xmm5
pandn xmm3, xmm1
por xmm3, xmm4
pxor xmm3, xmm7
movdqa xmm4, xmm2
pxor xmm4, xmm0
movdqa xmm1, xmmword [0x180005180]
movdqa xmm5, xmm1
pandn xmm5, xmm2
pandn xmm2, xmm1
por xmm2, xmm5
movdqa xmm5, xmmword [str.________________]
pxor xmm2, xmm1
movdqa xmm1, xmmword [0x1800051a0]
por xmm2, xmm1
pxor xmm2, xmm0
por xmm4, xmm5
pxor xmm4, xmm0
por xmm4, xmm2
por xmm1, xmm9
pxor xmm0, xmm1
pxor xmm5, xmm9
pand xmm5, xmm9
pandn xmm1, xmm5
pxor xmm5, xmm0
por xmm5, xmm1
movdqa xmm0, xmmword [str.eeeeeeeeeeeeeeee]
movdqa xmm1, xmm5
pandn xmm1, xmm0
movdqa xmm2, xmm0
pandn xmm2, xmm4
pandn xmm4, xmm0
por xmm4, xmm2
pandn xmm0, xmm5
por xmm0, xmm1
pxor xmm0, xmm4
movdqu xmmword [rax + rbp], xmm3
movdqu xmmword [rax + rbp + 0x10], xmm0
cmp r11, qword [rsp + 0x48]
je 0x1800020d2
movabs rbp, 0xaa2f7b234c455a46
movabs r8, 0x8ade15d15f4d1ace
movabs r15, 0x4ccc6f6a45ca7db1
movabs r14, 0x4ca561a96628214a
mov r13, r11
not r13
mov rax, qword [rsp + 0x38]
lea rcx, section..data
lea r12, [rax + rcx]
add r12, 0x408
mov rax, r15
and rax, 0xfffffffffffffc00
mov qword [rsp + 0x28], rax
not r15
mov r10, r8
not r10
mov rcx, rbp
and rcx, r10
not rbp
and r8, rbp
or r8, rcx
xor r8, rbp
mov rbp, r8
not rbp
nop word [rax + rax]
mov ecx, r15d
and ecx, 0x3ff
add rcx, qword [rsp + 0x28]
xor rcx, r15
mov rdx, r13
and rdx, rcx
xor rcx, r13
or rcx, rdx
mov rdi, r14
not rdi
mov rdx, r10
and rdx, r14
movabs rbx, 0x8ade15d15f4d1ace
and rbx, rdi
or rbx, rdx
mov rdx, rbp
and rdx, r14
mov rsi, r8
and rsi, rdi
or rsi, rdx
xor rsi, rbx
mov rdx, r10
or rdx, rbp
not rdx
or rdi, r14
and rdi, rdx
or rdi, rsi
mov rdx, rcx
not rdx
movabs rbx, 0x9dd9f1e566eff6a1
and rdx, rbx
not rbx
and rcx, rbx
or rcx, rdx
xor rcx, rbx
not rcx
not rdi
or rdi, rcx
movabs rax, 0x5f90ba5c03b60a97
mov rcx, rax
not rcx
or rcx, rax
not rdi
and rdi, rcx
lea rax, section..data
movzx esi, byte [rdi + rax + 4]
movzx edx, byte [r12 + r11]
mov r9d, edx
mov ebx, edx
xor bl, 0xef
and bl, dl
not dl
and dl, 0xc1
and r9b, 0x3e
or r9b, dl
mov edx, r9d
xor dl, 6
xor r9b, 0xc1
mov ecx, esi
not cl
and cl, 0x59
mov eax, esi
and al, 0xa6
or al, cl
mov ecx, eax
xor cl, 0xa6
xor al, 0xb6
and al, cl
or r9b, 0x10
mov ecx, r9d
and cl, 0x78
and dl, 0x87
or dl, cl
mov ecx, ebx
not cl
or r9b, cl
and cl, 0x78
and bl, 0x87
or bl, cl
xor bl, dl
and sil, 0x10
not r9b
or r9b, bl
mov ecx, eax
and cl, sil
xor sil, al
or sil, cl
mov eax, r9d
not al
and al, sil
not sil
and sil, r9b
or sil, al
mov byte [r12 + r11], sil
add r11, 1
add r13, 0xffffffffffffffff
cmp r11, qword [rsp + 0x48]
jb 0x180001f90
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, 0x11c3fbb9
and edx, 0xee3c0446
or edx, ebp
xor edx, 0xee3c0447
xor eax, edx
test eax, edx
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
lea r15, section..data
jne 0x180002132
xor cl, al
jne 0x180002132
nop
jmp 0x180002130
mov rax, qword [rsp + 0x38]
lea rcx, [rax + r15]
add rcx, 0x407
mov qword [rsp + 0x40], rcx
lea r12, [rax + r15]
add r12, 0x408
movsxd rax, dword [0x180006440]
add rax, r15
add rax, 0x404
mov qword [rsp + 0x48], rax
mov r13, r12
mov rax, qword [rsp + 0x40]
nop
mov r14, r13
add r13, 1
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180002170
lea rdi, [rax + 1]
mov rcx, rdi
nop dword [rax + rax]
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180002190
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x1800021b0
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x180023470]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0x59722950
and edx, 0xa68dd6af
or edx, ecx
mov ebp, edx
xor ebp, 0xa68dd6af
xor edx, 0x9000150
and edx, 0x2b805374
mov ecx, ebp
and ecx, 0xd47fac8b
or ecx, edx
xor ecx, 0xd47fac8a
and ebp, 0xfffffffe
or ebp, ecx
cmp ebp, 0xffffffff
sete dl
cmp dword [0x180023474], 0xa
setl bl
xor dl, bl
mov ecx, edx
not cl
and cl, bl
mov ebx, ecx
and bl, dl
xor cl, dl
or cl, bl
cmp cl, 1
jne 0x180002390
nop
mov rdx, qword gs:[0x60]
test cl, cl
je 0x180002390
mov r9, qword [rdx + 0x18]
add r9, 0x10
mov ecx, dword [0x180023478]
mov esi, dword [0x18002347c]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
not ecx
mov ebx, ecx
and ebx, 0x1b50430d
and ebp, 0xe4afbcf2
or ebp, ebx
xor ebp, 0xe4afbcf3
xor ecx, ebp
test ecx, ebp
setne cl
sete bl
cmp esi, 0xa
setl dl
cmp esi, 9
setg r10b
and bl, r10b
and dl, cl
or dl, bl
mov ebx, r10d
and bl, cl
xor r10b, cl
or r10b, bl
xor r10b, 1
mov ecx, edx
and cl, r10b
xor r10b, dl
or r10b, cl
mov qword [rsp + 0x28], rdi
mov r9, qword [r9]
mov rcx, r14
nop dword [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1800022c0
test r10b, r10b
je 0x180002a40
movabs rax, 0xd66b374f7be7ded0
mov rdx, rax
sub rcx, rax
movabs rax, 0x36f967e24f44f973
sub rcx, rax
sub rcx, rdi
add rcx, rax
movabs rax, 0xff6db30d9bb77f98
add rcx, rax
add rcx, rdx
sub rcx, rax
je 0x1800023a0
mov r11, qword [r9 + 0x60]
xor ebx, ebx
mov rbp, rcx
nop dword [rax + rax]
movzx edx, word [r11 + rbx*2]
movsx esi, byte [r13 + rbx]
lea r8d, [rdx - 0x41]
lea r15d, [rdx + 0x20]
cmp r8w, 0x1a
cmovae r15d, edx
lea edi, [rsi - 0x41]
lea eax, [rsi + 0x20]
cmp dil, 0x1a
cmovae eax, esi
cmp r15d, eax
jne 0x180002377
test dx, dx
je 0x1800023a0
movabs rdx, 0x523a53071f80b7b4
mov rax, rdx
sub rax, rbp
sub rax, rdx
not rax
add rbx, 1
mov rbp, rax
cmp rcx, rbx
jne 0x180002320
jmp 0x1800023a0
mov rdi, qword [rsp + 0x28]
jmp 0x1800022b2
mov rax, qword gs:[0x60]
jmp 0x180002230
mov r10, qword [r9 + 0x30]
movsxd rax, dword [r10 + 0x3c]
cmp dword [r10 + rax + 0x8c], 0
mov r13, qword [rsp + 0x48]
je 0x180002a20
mov edi, dword [r10 + rax + 0x88]
mov eax, dword [0x180023480]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0x795453a0
and edx, 0x86abac5f
or edx, eax
mov eax, edx
xor eax, 0x86abac5f
xor edx, 0x10401a0
and edx, 0x83068df8
mov ebp, eax
and ebp, 0x7cf97207
or ebp, edx
xor ebp, 0x7cf97206
and eax, 0xfffffffe
or eax, ebp
mov edx, eax
not edx
and edx, 0xead05397
and eax, 0x152fac68
or eax, edx
xor eax, 0x152fac68
setne bl
sete al
cmp dword [0x180023484], 9
setg dl
xor al, dl
xor al, 1
mov ecx, edx
and cl, bl
xor dl, bl
or dl, cl
xor dl, 1
test al, dl
jne 0x18000244a
xor al, dl
je 0x180002a60
cmp dword [r10 + rdi + 0x14], 0
je 0x180002a20
cmp dword [r10 + rdi + 0x18], 0
je 0x180002a20
mov eax, dword [0x180023488]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
xor eax, ecx
test eax, ecx
sete cl
cmp dword [0x18002348c], 0xa
mov r8d, dword [r10 + rdi + 0x1c]
setl dl
mov eax, edx
xor al, cl
or dl, cl
xor dl, 1
or dl, al
mov ecx, edx
xor cl, 1
cmp al, cl
jne 0x1800024b2
xor al, 1
or al, dl
xor al, 1
je 0x180002a70
add r8, r10
mov ebp, dword [r10 + rdi + 0x20]
mov r9d, dword [r10 + rdi + 0x24]
add rbp, r10
add r9, r10
nop word cs:[rax + rax]
nop
mov esi, dword [rbp]
add rsi, r10
xor edi, edi
nop dword [rax + rax]
movzx edx, byte [r12 + rdi]
movzx r14d, byte [rsi + rdi]
cmp dl, r14b
sete r11b
setne bl
test dl, dl
setne cl
sete al
and bl, al
and cl, r11b
or cl, bl
xor al, cl
cmp al, 1
jne 0x180002511
add rdi, 1
test cl, cl
jne 0x1800024e0
cmp dl, r14b
je 0x180002520
add rbp, 4
add r9, 2
jmp 0x1800024d0
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov edx, dword [r13 + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov qword [rsp + 0x28], rax
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea ebp, [r10 - 1]
imul ebp, r10d
mov ecx, ebp
not ecx
mov edx, ecx
and edx, 0xeea9253e
mov eax, ebp
and eax, 0x1156dac1
or eax, edx
xor eax, 0xeea9253f
or eax, ecx
cmp eax, 0xffffffff
setne r9b
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl bl
xor bl, r9b
xor bl, 1
mov eax, edx
and al, r9b
xor dl, r9b
or dl, al
xor dl, 1
test bl, dl
jne 0x180002aa2
xor bl, dl
jne 0x180002aa2
movsxd r8, dword [0x180006440]
mov eax, dword [0x180023468]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
mov eax, ecx
not eax
and eax, 0x20941f19
and ecx, 0xdf6be0e6
or ecx, eax
xor ecx, 0xdf6be0e6
sete dl
cmp dword [0x18002346c], 0xa
setl al
xor dl, al
mov ecx, edx
xor cl, 1
and al, cl
mov rbp, qword [rsp + 0x20]
mov r14, rbp
cmp al, dl
jne 0x180002620
xor al, 1
or al, cl
xor al, 1
mov r14, rbp
je 0x180002a80
nop word cs:[rax + rax]
mov r15, r14
add r14, 1
cmp byte [r15], 0
jne 0x180002620
mov rax, r14
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x180002630
mov eax, dword [0x180023470]
mov ecx, dword [0x180023474]
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, 0xcac3f0b2
and edx, 0x353c0f4d
or edx, eax
xor edx, 0x353c0f4d
sete dl
setne bl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
or cl, bl
xor al, dl
xor al, 1
mov edx, ecx
xor dl, al
or al, cl
xor al, 1
or al, dl
cmp al, 1
jne 0x180002940
nop dword [rax + rax]
mov rcx, qword gs:[0x60]
test al, al
je 0x180002940
mov r9, qword [rcx + 0x18]
add r9, 0x10
mov eax, dword [0x180023478]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x879e1bbd
and ecx, 0x7861e442
or ecx, eax
mov eax, ecx
xor eax, 0x7861e442
and eax, 0xfffffffe
xor ecx, 0x879e1bbc
or ecx, eax
cmp ecx, 0xffffffff
setne al
cmp dword [0x18002347c], 9
setg r10b
mov ecx, r10d
or cl, al
xor cl, 1
xor r10b, al
mov eax, ecx
and al, r10b
xor r10b, cl
or r10b, al
mov r9, qword [r9]
mov rcx, r15
nop word cs:[rax + rax]
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180002720
test r10b, r10b
je 0x180002a50
movabs rax, 0xeb5cbbf85efceba1
add rcx, rax
movabs rdx, 0x5c0367716615a1bb
sub rcx, rdx
sub rcx, rax
sub rcx, r14
movabs rax, 0x7284d0729901753e
add rcx, rax
add rcx, rdx
sub rcx, rax
je 0x1800027df
mov r11, qword [r9 + 0x60]
xor eax, eax
mov rdx, rcx
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ebx, word [r11 + rax*2]
movsx esi, byte [r14 + rax]
lea ebp, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmp bp, 0x1a
cmovae edi, ebx
lea r13d, [rsi - 0x41]
lea ebp, [rsi + 0x20]
cmp r13b, 0x1a
cmovae ebp, esi
cmp edi, ebp
jne 0x18000270f
test bx, bx
je 0x1800027df
movabs rsi, 0xff4dfda3fc81e133
add rdx, rsi
movabs rdi, 0x21ef8dbfe4b5fbb6
sub rdx, rdi
sub rdx, rsi
add rdx, rdi
add rdx, 0xffffffffffffffff
add rax, 1
cmp rcx, rax
jne 0x180002780
mov r10, qword [r9 + 0x30]
movsxd rax, dword [r10 + 0x3c]
cmp dword [r10 + rax + 0x8c], 0
lea r15, section..data
je 0x180002a30
mov ecx, dword [0x180023480]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
mov ebp, ecx
and ebp, 0xb6f67500
and edx, 0x49098aff
or edx, ebp
xor edx, 0x49098afe
xor ecx, edx
test ecx, edx
sete bl
cmp dword [0x180023484], 0xa
mov edi, dword [r10 + rax + 0x88]
setl al
mov ecx, ebx
xor cl, al
or al, bl
xor al, 1
or al, cl
xor al, 1
test cl, al
jne 0x180002854
xor cl, al
je 0x180002a90
cmp dword [r10 + rdi + 0x14], 0
je 0x180002a30
cmp dword [r10 + rdi + 0x18], 0
je 0x180002a30
mov r9d, dword [r10 + rdi + 0x1c]
mov eax, dword [0x180023488]
mov ecx, dword [0x18002348c]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
not eax
mov ebx, eax
and ebx, 0xcf930155
and ebp, 0x306cfeaa
or ebp, ebx
xor ebp, 0x306cfeab
xor eax, ebp
test eax, ebp
setne bl
sete dl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
and dl, cl
and al, bl
or al, dl
mov edx, ecx
and dl, bl
xor cl, bl
or cl, dl
xor cl, 1
test al, cl
jne 0x1800028d0
xor al, cl
je 0x180002aa0
add r9, r10
mov ebp, dword [r10 + rdi + 0x20]
mov r11d, dword [r10 + rdi + 0x24]
add rbp, r10
add r11, r10
nop word cs:[rax + rax]
nop dword [rax]
mov esi, dword [rbp]
add rsi, r10
xor edi, edi
nop dword [rax + rax]
movzx ecx, byte [r12 + rdi]
movzx r14d, byte [rsi + rdi]
cmp cl, r14b
sete al
test cl, cl
setne dl
mov ebx, edx
xor bl, al
or dl, al
xor dl, 1
or dl, bl
jne 0x18000292d
xor dl, 1
add rdi, 1
test dl, dl
jne 0x180002900
cmp cl, r14b
je 0x18000294e
add rbp, 4
add r11, 2
jmp 0x1800028f0
mov rcx, qword gs:[0x60]
jmp 0x1800026a0
movzx eax, word [r11]
mov eax, dword [r9 + rax*4]
add r10, rax
mov edx, dword [r8 + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov ecx, dword [0x180023468]
mov eax, dword [0x18002346c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xa468e025
and edx, 0x5b971fda
or edx, ecx
mov ecx, edx
xor ecx, 0x5b971fda
xor edx, 0x8448c000
and edx, 0xcf5fcc08
mov ebp, ecx
and ebp, 0x30a033f7
or ebp, edx
xor ebp, 0x30a033f6
and ecx, 0xfffffffe
or ecx, ebp
mov edx, ecx
not edx
and edx, 0x2c2f8d1f
and ecx, 0xd3d072e0
or ecx, edx
xor ecx, 0xd3d072e0
sete r8b
setne bl
cmp eax, 9
setg dl
cmp eax, 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 0x180002152
xor cl, 1
xor al, 1
or al, cl
xor al, 1
jne 0x180002152
jmp 0x180002130
jmp 0x180002a20
jmp 0x180002a30
jmp 0x180002a40
jmp 0x180002a50
jmp 0x180002a60
jmp 0x180002a70
jmp 0x180002a80
jmp 0x180002a90
jmp 0x180002aa0
and ecx, 0x767c2b63
and ebp, 0x8983d49c
or ebp, ecx
mov esi, ebp
xor esi, 0x8983d49c
xor ebp, 0x14000322
and ebp, 0x1c0347b2
mov eax, esi
and eax, 0xe3fcb84d
or eax, ebp
xor eax, 0xe3fcb84c
and esi, 0xfffffffe
or esi, eax
cmp esi, 0xffffffff
sete bl
setne r9b
cmp r8d, 0xa
setl al
cmp r8d, 9
setg dl
and bl, dl
or dl, r9b
xor dl, 1
and al, r9b
or al, bl
test dl, al
jne 0x180002b08
xor dl, al
je 0x180002df0
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x60], rax
lea r9, [r13 + 0x108]
not esi
movabs r12, 0xe40281b466b9d5b2
movabs r14, 0x7ff33f03836f5607
movabs r11, 0x518213fa5ebbfff4
movabs r15, 0x42964129a96447ea
xor ecx, ecx
movzx eax, word [r13 + 6]
cmp rcx, rax
jae 0x180002df2
mov qword [rsp + 0x20], rcx
test esi, esi
setne al
sete r10b
cmp r8d, 0xa
setl bl
cmp r8d, 9
setg cl
and cl, r10b
and al, bl
or al, cl
mov ecx, ebx
xor cl, r10b
or bl, r10b
xor bl, 1
or bl, cl
mov ecx, ebx
xor cl, 1
cmp al, cl
jne 0x180002bed
xor al, 1
or al, bl
xor al, 1
je 0x180002d1e
jmp 0x180002bed
mov rcx, qword [rsp + 0x20]
add rcx, 1
mov eax, edi
and eax, 0xa7fdc3d5
and esi, 0x58023c2a
or esi, eax
xor esi, 0xa7fdc3d4
or esi, edi
cmp esi, 0xffffffff
not esi
sete al
cmp r8d, 0xa
setl dil
xor al, dil
mov ebx, eax
not bl
and bl, dil
test bl, al
jne 0x180002b49
xor bl, al
jne 0x180002b49
jmp 0x180002df0
mov rax, qword [rsp + 0x20]
lea rbp, [rax + rax*4]
mov r8d, dword [r9 + rbp*8 + 0xc]
mov r10d, dword [r9 + rbp*8 + 0x10]
add r8, qword [rsp + 0x28]
mov ebp, dword [r9 + rbp*8 + 0x14]
lea rax, section..data
add rbp, rax
add rbp, 0x404
nop dword [rax + rax]
mov ebx, dword [0x180023458]
lea edi, [rbx - 1]
imul edi, ebx
mov ebx, edi
not ebx
mov esi, ebx
and esi, 0x8f25ed6a
and edi, 0x70da1295
or edi, esi
xor edi, 0x8f25ed6b
or edi, ebx
cmp edi, 0xffffffff
sete dl
setne al
cmp dword [0x18002345c], 0xa
setl bl
xor al, bl
mov ecx, ebx
xor cl, dl
or bl, dl
xor bl, 1
or bl, cl
mov ecx, eax
xor cl, bl
or bl, al
xor bl, 1
or bl, cl
nop word cs:[rax + rax]
nop dword [rax]
test bl, 1
je 0x180002c80
cmp r10, 1
jb 0x180002caa
add r10, r15
mov rax, r15
not rax
add r10, rax
mov al, byte [rbp]
add rbp, 1
mov byte [r8], al
add r8, 1
jmp 0x180002c20
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea esi, [r10 - 1]
imul esi, r10d
mov edi, esi
not edi
mov eax, edi
and eax, 0x600d97b1
mov edx, esi
and edx, 0x9ff2684e
or edx, eax
mov eax, edx
xor eax, 0x9ff2684e
and eax, 0xfffffffe
xor edx, 0x600d97b0
or edx, eax
cmp edx, 0xffffffff
sete bl
setne dl
cmp r8d, 9
setg al
cmp r8d, 0xa
setl cl
and cl, dl
and bl, al
or bl, cl
mov ecx, eax
and cl, dl
xor al, dl
or al, cl
xor al, 1
test bl, al
jne 0x180002b9e
xor bl, al
jne 0x180002b9e
mov rax, qword [rsp + 0x20]
lea rax, [rax + rax*4]
mov ebp, dword [r9 + rax*8 + 0xc]
mov ecx, dword [r9 + rax*8 + 0x10]
add rbp, qword [rsp + 0x28]
mov eax, dword [r9 + rax*8 + 0x14]
lea rdx, section..data
lea rsi, [rax + rdx]
add rsi, 0x404
jmp 0x180002d75
sub rcx, r14
sub rcx, r12
add rcx, r14
add rcx, r11
add rcx, r12
mov rax, r11
not rax
add rcx, rax
mov al, byte [rsi]
add rsi, 1
mov byte [rbp], al
add rbp, 1
mov edx, dword [0x180023458]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, ebx
not edx
mov edi, edx
and edi, 0xfffffffe
and ebx, 1
or ebx, edi
not ebx
or ebx, edx
cmp ebx, 0xffffffff
sete r8b
cmp dword [0x18002345c], 0xa
setl bl
mov eax, ebx
xor al, r8b
mov edx, eax
xor dl, 1
or bl, r8b
xor bl, 1
or bl, al
xor al, bl
xor al, 1
or bl, dl
xor bl, 1
or bl, al
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, 1
je 0x180002dd0
cmp rcx, 1
jae 0x180002d50
jmp 0x180002bed
jmp 0x180002df0
movabs rax, 0x874f91e5004e4c7f
mov rdx, r13
mov rbp, qword [rsp + 0x28]
mov r13, rbp
sub r13, rax
movabs rcx, 0x35462b3cff5b3af3
add r13, rcx
add r13, rax
movabs rax, 0xfdccf4766767c5ed
add r13, rax
sub r13, qword [rdx + 0x30]
mov ebx, 0xffffffe0
sub r13, rax
sub r13, rcx
mov r9d, dword [rdx + 0xb0]
add r9, rbp
add rbx, 0x1f
mov qword [rsp + 0x58], rbx
movabs r12, 0x9d8320a956e9e207
movabs r11, 0xdae91c2ee5e4c457
jmp 0x180002e66
mov eax, dword [r9 + 4]
add r9, rax
lea edi, [r10 - 1]
imul edi, r10d
mov ebp, edi
not ebp
mov eax, ebp
and eax, 0xa595d80c
mov ecx, edi
and ecx, 0x5a6a27f3
or ecx, eax
mov eax, ecx
xor eax, 0x5a6a27f2
and eax, 0xfffffffe
xor ecx, 0xa595d80d
or ecx, eax
cmp ecx, 0xffffffff
sete cl
setne r14b
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl al
and al, r14b
and cl, dl
or cl, al
mov eax, edx
and al, r14b
xor dl, r14b
or dl, al
mov eax, edx
xor al, cl
xor cl, 1
xor al, 1
or cl, dl
xor cl, 1
or cl, al
nop
test cl, 1
je 0x180002ed0
test cl, 1
je 0x180002ed0
cmp dword [r9], 0
je 0x180003792
mov ebx, dword [r9 + 4]
cmp rbx, 8
jb 0x1800036ff
and ebp, 0x86f48a72
and edi, 0x790b758d
or edi, ebp
mov eax, edi
xor eax, 0x790b758c
and eax, 0xfffffffe
xor edi, 0x86f48a73
or edi, eax
cmp edi, 0xffffffff
sete cl
setne dil
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl al
and al, dil
and cl, dl
or cl, al
mov eax, edx
and al, dil
xor dl, dil
or dl, al
xor dl, 1
test cl, dl
jne 0x180002f4a
xor cl, dl
je 0x180003780
movabs rcx, 0xea8ac0aaf24ed931
mov rax, rcx
sub rax, rbx
movabs rdx, 0x1fffffff8
sub rax, rdx
movabs rdx, 0xc7744b658b82594
add rax, rdx
sub rcx, rax
add rcx, rdx
shr rcx, 1
mov rbx, qword [rsp + 0x58]
mov rax, rbx
not rax
mov rdx, rcx
not rdx
movabs rsi, 0x3ac43bece2c8f0dc
mov rbp, rsi
mov rdi, rsi
and rdi, rdx
not rsi
and rcx, rsi
or rcx, rdi
mov rdi, rbx
and rdi, rbp
and rsi, rax
or rsi, rdi
xor rsi, rcx
not rsi
movabs rcx, 0x94feb14c4eacba46
mov rax, rcx
not rax
or rsi, rdx
or rax, rcx
not rsi
and rsi, rax
mov qword [rsp + 0x40], rsi
xor ebp, ebp
cmp rbp, qword [rsp + 0x40]
je 0x1800036ff
mov qword [rsp + 0x20], rbp
movzx eax, word [r9 + rbp*2 + 8]
mov ebp, eax
shr ebp, 0xc
mov r15d, eax
not r15d
mov edi, r15d
and edi, 0xfffff000
mov ecx, eax
and ecx, 0xfff
or ecx, edi
xor r15d, ecx
and r15d, ecx
cmp eax, 0xa000
jae 0x180003280
cmp ebp, 3
jne 0x180003649
mov eax, dword [r9]
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + rax*4]
mov edi, r15d
add dword [rax + rdi*4], r13d
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0xd6203162
and eax, 0x29dfce9d
or eax, ecx
xor eax, 0x29dfce9d
sete dl
setne bpl
cmp r8d, 0xa
setl al
cmp r8d, 9
setg cl
and dl, cl
or cl, bpl
xor cl, 1
and al, bpl
or al, dl
test cl, al
jne 0x180003649
xor cl, al
jne 0x180003649
mov rax, qword [rsp + 0x28]
lea rsi, [rax + rdi*4]
lea edi, [r10 - 1]
imul edi, r10d
mov eax, edi
not eax
and edi, 0xbf9596a
mov ecx, eax
and ecx, 0xf406a695
or ecx, edi
xor ecx, 0xf406a694
and eax, 0xfffffffe
or eax, ecx
cmp eax, 0xffffffff
setne r10b
sete dil
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg bl
mov eax, ecx
or cl, dil
and dil, bl
and al, r10b
or al, dil
xor bl, r10b
xor cl, 1
or cl, bl
xor cl, 1
test al, cl
jne 0x180003114
xor al, cl
je 0x180003170
mov eax, dword [r9]
add dword [rsi + rax*4], r13d
mov eax, dword [0x180023460]
lea ebp, [rax - 1]
imul ebp, eax
mov ecx, ebp
not ecx
and ebp, 0x18da63f5
mov eax, ecx
and eax, 0xe7259c0a
or eax, ebp
xor eax, 0xe7259c0b
and ecx, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x180023464], 0xa
setl bl
xor al, bl
mov ecx, eax
not cl
and cl, bl
test cl, al
jne 0x1800031fc
xor cl, al
jne 0x1800031fc
nop dword [rax]
mov eax, dword [r9]
add dword [rsi + rax*4], r13d
mov eax, dword [r9]
add dword [rsi + rax*4], r13d
mov eax, dword [0x180023460]
mov ecx, dword [0x180023464]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
not eax
and eax, 0x207abee9
and ebp, 0xdf854116
or ebp, eax
mov eax, ebp
xor eax, 0xdf854116
and eax, 0xfffffffe
xor ebp, 0x207abee8
or ebp, eax
mov eax, ebp
not eax
and eax, 0xa2e6e914
and ebp, 0x5d1916eb
or ebp, eax
xor ebp, 0x5d1916eb
sete bl
setne dl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
and bl, cl
or cl, dl
xor cl, 1
and al, dl
or al, bl
test cl, al
jne 0x180003114
xor cl, al
je 0x180003170
jmp 0x180003114
mov eax, dword [r9]
add dword [rsi + rax*4], r13d
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
and ecx, 0x3384464c
and eax, 0xcc7bb9b3
or eax, ecx
mov ecx, eax
xor ecx, 0xcc7bb9b3
xor eax, 0x2204020c
and eax, 0x6a2fa38e
mov edi, ecx
and edi, 0x95d05c71
or edi, eax
xor edi, 0x95d05c70
and ecx, 0xfffffffe
or ecx, edi
cmp ecx, 0xffffffff
sete bl
cmp r8d, 0xa
setl al
xor bl, al
mov ecx, ebx
xor cl, 1
and al, cl
cmp al, bl
jne 0x180003649
xor al, 1
or al, cl
xor al, 1
je 0x1800030b3
jmp 0x180003649
cmp ebp, 0xa
jne 0x180003649
mov eax, dword [r9]
add r15, qword [rsp + 0x28]
mov rcx, r15
movabs rdx, 0x4f173526656f6b69
mov rbp, rdx
sub rcx, rdx
movabs rdx, 0xb6323a4ccdd225cd
sub rcx, rdx
add rcx, rbp
add rcx, rax
movabs rax, 0x72f5478de74b49b8
mov rbp, rax
sub rcx, rax
add rcx, rdx
mov rax, qword [rax + rcx]
movabs rdx, 0x5c912fc81b70b390
sub rax, rdx
add rax, r13
add rax, rdx
mov qword [rbp + rcx], rax
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xd5502e6b
and eax, 0x2aafd194
or eax, edi
xor eax, 0x2aafd195
xor ecx, eax
test ecx, eax
sete dil
setne bpl
cmp r8d, 9
setg r14b
cmp r8d, 0xa
setl cl
mov eax, r14d
xor r14b, bpl
and bpl, cl
and al, dil
or al, bpl
or cl, dil
xor cl, 1
or cl, r14b
xor cl, 1
test al, cl
jne 0x180003649
xor al, cl
jne 0x180003649
movabs rsi, 0xfe131cdcb3d58b89
mov r14, rsi
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x894ae954
and eax, 0x76b516ab
or eax, ecx
xor eax, 0x76b516ab
setne bl
sete dl
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg al
and dl, al
and cl, bl
or cl, dl
mov edx, eax
and dl, bl
xor al, bl
or al, dl
xor al, 1
test cl, al
jne 0x1800033c1
xor cl, al
je 0x180003770
mov eax, dword [r9]
add qword [r15 + rax], r13
mov eax, dword [0x180023460]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xa5a6e455
and ecx, 0x5a591baa
or ecx, eax
mov eax, ecx
xor eax, 0x5a591baa
xor ecx, 0x8502a001
and ecx, 0xcd03b0a1
mov edx, eax
and edx, 0x32fc4f5e
or edx, ecx
xor edx, 0x32fc4f5f
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
sete al
cmp dword [0x180023464], 0xa
setl dl
xor al, dl
mov ecx, eax
not cl
and cl, dl
test cl, al
movabs rbp, 0xd6fe648ab5a882da
mov r8, rbp
movabs rdi, 0xbff8e981cf82c052
mov r10, rdi
movabs rsi, 0xbfd7a060e8420b19
movabs rbp, 0xb22d2c912cf102ec
movabs rdi, 0x80aa67e08ea40b1c
jne 0x18000355e
nop word cs:[rax + rax]
nop
xor cl, al
jne 0x18000355e
mov eax, dword [r9]
mov rcx, r15
sub rcx, r8
add rcx, rsi
add rcx, r8
add rcx, rax
sub rcx, r12
sub rcx, rsi
mov rax, qword [rcx + r12]
movabs rdx, 0x2c1573b29fb1ee46
mov rbx, rdx
sub rax, rdx
movabs rdx, 0x5171a691777dd2d2
sub rax, rdx
add rax, rbx
sub rax, r10
add rax, r13
add rax, r10
add rax, rdx
mov qword [rcx + r12], rax
mov eax, dword [r9]
mov rcx, r15
sub rcx, r11
add rcx, r14
add rcx, r11
add rcx, rax
movabs rax, 0x7c2aebb84291ce45
add rcx, rax
sub rcx, r14
sub rcx, rax
mov rax, rdi
sub rax, r13
sub rax, rdi
mov rdx, qword [rcx]
add rdx, rbp
sub rax, rdx
add rax, rbp
movabs rdx, 0x7644dd87bc928efe
add rax, rdx
sub rdx, rax
mov qword [rcx], rdx
mov eax, dword [0x180023460]
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
mov eax, dword [0x180023464]
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 9
setg bl
cmp eax, 0xa
setl al
and bl, cl
mov ecx, eax
xor cl, dl
and cl, al
and al, dl
or al, bl
test cl, al
je 0x180003470
mov eax, dword [r9]
movabs rdx, 0xa428ffb1b2e07e13
mov rcx, rdx
sub rcx, r15
sub rcx, rdx
movabs rbp, 0x6dd1e81eed844848
add rax, rbp
sub rbp, rax
movabs rax, 0xc7c455dd824a2753
sub rcx, rax
add rcx, rbp
add rcx, rax
movabs rbx, 0xf6e55bb764b74ba
add rcx, rbx
mov rax, rbx
sub rax, rcx
neg rcx
mov rax, qword [rax]
movabs rbp, 0xa5491b8f5fa22630
add rax, rbp
sub rbp, rax
movabs rdx, 0xe3de8973b285e90f
mov rax, rdx
sub rax, r13
sub rax, rdx
add rax, rbp
neg rax
mov qword [rbx + rcx], rax
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xfffffffe
and eax, 1
or eax, edi
not eax
or eax, ecx
cmp eax, 0xffffffff
setne cl
sete al
cmp r8d, 0xa
setl dil
cmp r8d, 9
setg bl
and bl, al
and cl, dil
or cl, bl
mov ebx, edi
xor bl, al
or dil, al
xor dil, 1
or dil, bl
mov eax, edi
xor al, 1
cmp cl, al
jne 0x180003649
xor cl, 1
or cl, dil
xor cl, 1
je 0x180003367
lea edx, [r10 - 1]
imul edx, r10d
mov eax, edx
not eax
and eax, 0xfffffffe
xor edx, 1
or edx, eax
mov edi, edx
not edi
mov eax, edi
and eax, 0xf3b2b21a
mov ecx, edx
and ecx, 0xc4d4de5
or ecx, eax
xor ecx, 0xc4d4de5
sete r14b
setne bpl
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg al
and r14b, al
or al, bpl
mov ebx, eax
xor bl, 1
and cl, bpl
or cl, r14b
cmp bl, cl
jne 0x1800036b0
xor cl, 1
or al, cl
xor al, 1
je 0x180003790
mov rbp, qword [rsp + 0x20]
add rbp, 1
and edi, 0x2c7e16af
and edx, 0xd381e950
or edx, edi
xor edx, 0xd381e950
setne dil
cmp r8d, 9
setg cl
mov edx, ecx
or dl, dil
mov eax, edx
xor al, 1
xor cl, dil
cmp al, cl
jne 0x180002fdf
xor cl, 1
or dl, cl
xor dl, 1
jne 0x180002fdf
jmp 0x180003780
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xea250166
and eax, 0x15dafe99
or eax, edx
xor eax, 0x15dafe98
xor ecx, eax
test ecx, eax
sete dl
setne bl
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg al
or al, bl
mov ebx, eax
xor bl, 1
xor cl, dl
cmp bl, cl
jne 0x180002e5f
xor cl, 1
or al, cl
xor al, 1
jne 0x180002e5f
nop word cs:[rax + rax]
nop
jmp 0x180003760
jmp 0x180003770
jmp 0x180003780
jmp 0x180003790
mov rsi, qword [rsp + 0x48]
mov ebx, dword [rsi + 0x90]
mov rax, qword [rsp + 0x28]
add rbx, rax
lea rbp, [rax + 2]
movabs r15, 0xde98a4ec1862e62a
movabs r13, 0x5b901037f8dcdc10
movabs r12, 0x6a4161861a0b6cb
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
cmp eax, 0xffffffff
sete cl
cmp r8d, 0xa
setl dl
mov eax, edx
xor al, cl
or dl, cl
xor dl, 1
or dl, al
xor al, 1
mov ecx, eax
xor cl, dl
or al, dl
xor al, 1
or al, cl
mov r14, qword [rsp + 0x60]
test al, 1
je 0x18000380a
mov edi, dword [rbx + 0xc]
test rdi, rdi
je 0x180004c32
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x40], rbp
add rdi, qword [rsp + 0x28]
mov qword [rsp + 0x20], rdi
mov eax, dword [0x180023470]
mov ecx, dword [0x180023474]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0xa9625af2
and edx, 0x569da50d
or edx, ebp
xor edx, 0xa9625af3
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
mov edx, ecx
and dl, al
xor al, cl
or al, dl
cmp al, 1
jne 0x180003b95
mov rbp, qword gs:[0x60]
test al, al
je 0x180003b95
mov ecx, dword [0x180023468]
mov ebx, dword [0x18002346c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0x44f2d66a
and edx, 0xbb0d2995
or edx, ecx
mov ecx, edx
xor ecx, 0xbb0d2994
and ecx, 0xfffffffe
xor edx, 0x44f2d66b
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0xc61e6493
and edx, 0x39e19b6c
or edx, ecx
xor edx, 0x39e19b6c
sete r8b
setne al
cmp ebx, 9
setg cl
cmp ebx, 0xa
setl dl
mov ebx, edx
xor bl, al
and bl, dl
and cl, r8b
and dl, al
or dl, cl
mov eax, dword [0x180023478]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edi, eax
and edi, 0xb96ae767
and ecx, 0x46951898
or ecx, edi
xor ecx, 0xb96ae766
or ecx, eax
cmp ecx, 0xffffffff
sete cl
cmp dword [0x18002347c], 0xa
setl r9b
test bl, dl
jne 0x180003954
xor bl, dl
je 0x180004c18
mov edx, r9d
xor dl, cl
or r9b, cl
xor r9b, 1
or r9b, dl
xor r9b, 1
mov ecx, edx
and cl, r9b
xor r9b, dl
or r9b, cl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x180003985
test r9b, 1
je 0x180004c12
movabs rax, 0x5886c31fa89e6b02
mov rbp, rax
add rdx, rax
movabs rax, 0x4fedeb0d0bd7e824
add rdx, rax
sub rdx, r14
sub rdx, rax
movabs rax, 0xb840f7fe6fac41e3
add rdx, rax
sub rdx, rbp
sub rdx, rax
je 0x180003a30
mov r10, qword [r8 + 0x60]
xor esi, esi
mov r11, rdx
movzx edi, word [r10 + rsi*2]
movsx ecx, byte [rcx + rsi + 1]
lea eax, [rdi - 0x41]
lea ebp, [rdi + 0x20]
cmp ax, 0x1a
cmovae ebp, edi
lea eax, [rcx - 0x41]
lea ebx, [rcx + 0x20]
cmp al, 0x1a
cmovae ebx, ecx
cmp ebp, ebx
jne 0x18000397a
test di, di
mov rcx, qword [rsp + 0x30]
je 0x180003a30
movabs rdi, 0xe778f7c4cad318ac
mov rax, rdi
sub rax, r11
sub rax, rdi
not rax
add rsi, 1
mov r11, rax
cmp rdx, rsi
jne 0x1800039da
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
cmp dword [r9 + rax + 0x8c], 0
je 0x180004c06
mov edi, dword [r9 + rax + 0x88]
mov ecx, dword [0x180023480]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xf41006c3
and edx, 0xbeff93c
or edx, ecx
mov ecx, edx
xor ecx, 0xbeff93c
xor edx, 0xa4100641
and edx, 0xa5f0467d
mov ebp, ecx
and ebp, 0x5a0fb982
or ebp, edx
xor ebp, 0x5a0fb983
and ecx, 0xfffffffe
or ecx, ebp
mov edx, ecx
not edx
and edx, 0x7b74d5f1
and ecx, 0x848b2a0e
or ecx, edx
xor ecx, 0x848b2a0e
setne bl
cmp dword [0x180023484], 9
setg cl
mov edx, ecx
or dl, bl
xor dl, 1
xor cl, bl
test dl, cl
jne 0x180003ad0
xor dl, cl
je 0x180004c1a
cmp dword [r9 + rdi + 0x14], 0
je 0x180004c06
cmp dword [r9 + rdi + 0x18], 0
je 0x180004c06
mov r8d, dword [r9 + rdi + 0x1c]
mov ecx, dword [0x180023488]
mov edx, dword [0x18002348c]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
not ecx
mov ebx, ecx
and ebx, 0xfffffffe
and ebp, 1
or ebp, ebx
xor ecx, ebp
test ecx, ebp
sete bl
setne al
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
xor dl, al
mov eax, ecx
xor al, bl
or cl, bl
xor cl, 1
or cl, al
xor cl, 1
test dl, cl
jne 0x180003b3f
xor dl, cl
je 0x180004c1c
add r8, r9
mov ebp, dword [r9 + rdi + 0x20]
mov esi, dword [r9 + rdi + 0x24]
add rbp, r9
add rsi, r9
mov rdi, qword [rsp + 0x38]
mov ebx, dword [rbp]
add rbx, r9
movzx ecx, byte [rdi]
movzx r10d, byte [rbx]
cmp cl, r10b
sete al
test cl, cl
setne dl
xor al, dl
xor al, 1
xor dl, al
cmp dl, 1
je 0x180003b86
add rdi, 1
add rbx, 1
test al, al
jne 0x180003b5d
cmp cl, r10b
je 0x180003ba3
add rbp, 4
add rsi, 2
jmp 0x180003b52
mov rcx, qword gs:[0x60]
jmp 0x18000388f
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, qword [rsp + 0x20]
call r9
mov qword [rsp + 0x88], rax
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x5ed8e739
and eax, 0xa12718c6
or eax, edx
xor eax, 0x5ed8e738
or eax, ecx
cmp eax, 0xffffffff
sete dl
setne r9b
cmp r8d, 0xa
setl cl
cmp r8d, 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 0x1800042ed
xor cl, 1
or al, cl
xor al, 1
jne 0x1800042ed
mov r14, qword [rsp + 0x60]
mov eax, dword [0x180023470]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xaedf7d63
mov edx, eax
and edx, 0x5120829c
or edx, ecx
xor edx, 0x5120829d
and eax, 0xfffffffe
or eax, edx
mov ecx, eax
not ecx
and ecx, 0x17e60f18
and eax, 0xe819f0e7
or eax, ecx
xor eax, 0xe819f0e7
sete cl
cmp dword [0x180023474], 0xa
setl dl
xor cl, dl
mov eax, ecx
not al
and al, dl
mov edx, eax
and dl, cl
xor al, cl
or al, dl
cmp al, 1
jne 0x180003f6b
mov rbp, qword gs:[0x60]
test al, al
je 0x180003f6b
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xd89dfb8b
and edx, 0x27620474
or edx, ebx
xor edx, 0x27620475
xor eax, edx
test eax, edx
sete r8b
setne bl
cmp ecx, 9
setg al
cmp ecx, 0xa
setl dl
mov ecx, eax
xor al, bl
and bl, dl
and cl, r8b
or cl, bl
or dl, r8b
xor dl, 1
or dl, al
mov ebx, edx
xor bl, 1
mov eax, dword [0x180023478]
lea edi, [rax - 1]
imul edi, eax
mov eax, edi
not eax
and eax, 0xfffffffe
xor edi, 1
or edi, eax
mov eax, edi
not eax
and eax, 0xabf44679
and edi, 0x540bb986
or edi, eax
xor edi, 0x540bb986
setne r8b
cmp dword [0x18002347c], 9
setg r9b
cmp cl, bl
jne 0x180003d50
xor cl, 1
or cl, dl
xor cl, 1
je 0x180004c0a
mov ecx, r8d
xor cl, r9b
and r9b, r8b
or r9b, cl
xor r9b, 1
mov edx, ecx
and dl, r9b
xor r9b, cl
or r9b, dl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov rax, qword [rsp + 0x30]
mov r8, qword [r8]
mov rdi, rax
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180003d7e
test r9b, r9b
je 0x180004c04
movabs rcx, 0x67bf7f5654269b10
mov rdx, rcx
add rdi, rcx
movabs rcx, 0x82904adec40db175
add rdi, rcx
sub rdi, r14
sub rdi, rcx
movabs rcx, 0x42a4ea1976aa4266
sub rdi, rcx
sub rdi, rdx
add rdi, rcx
je 0x180003e25
mov r10, qword [r8 + 0x60]
xor esi, esi
mov rdx, rdi
movzx ebx, word [r10 + rsi*2]
movsx ecx, byte [rax + rsi + 1]
lea eax, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmp ax, 0x1a
cmovae ebp, ebx
lea r11d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r11b, 0x1a
cmovae eax, ecx
cmp ebp, eax
jne 0x180003d73
test bx, bx
mov rax, qword [rsp + 0x30]
je 0x180003e25
add rdx, r12
mov rcx, r15
sub rdx, r15
sub rdx, r12
add rdx, r15
add rdx, 0xffffffffffffffff
add rsi, 1
cmp rdi, rsi
jne 0x180003dd2
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
cmp dword [r9 + rax + 0x8c], 0
je 0x180004c00
mov edi, dword [r9 + rax + 0x88]
mov eax, dword [0x180023480]
mov ebp, dword [0x180023484]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0x5e11ee64
and edx, 0xa1ee119b
or edx, ebx
xor edx, 0x5e11ee65
or edx, eax
cmp edx, 0xffffffff
sete bl
setne cl
cmp ebp, 0xa
setl dl
cmp ebp, 9
setg al
or al, cl
mov ecx, eax
xor cl, 1
xor dl, bl
cmp cl, dl
jne 0x180003ea1
xor dl, 1
or al, dl
xor al, 1
je 0x180004c0c
cmp dword [r9 + rdi + 0x14], 0
je 0x180004c00
cmp dword [r9 + rdi + 0x18], 0
je 0x180004c00
mov r8d, dword [r9 + rdi + 0x1c]
mov eax, dword [0x180023488]
mov ecx, dword [0x18002348c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0xfffffffe
xor edx, 1
or edx, eax
cmp edx, 0xffffffff
sete al
setne bl
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
and cl, bl
and al, dl
or al, cl
mov ecx, edx
and cl, bl
xor dl, bl
or dl, cl
xor dl, 1
test al, dl
jne 0x180003f0e
xor al, dl
je 0x180004c0e
add r8, r9
mov ebp, dword [r9 + rdi + 0x20]
mov esi, dword [r9 + rdi + 0x24]
add rbp, r9
add rsi, r9
mov rdi, qword [rsp + 0x38]
mov ebx, dword [rbp]
add rbx, r9
nop dword [rax]
movzx eax, byte [rdi]
movzx r10d, byte [rbx]
cmp al, r10b
setne r11b
test al, al
sete cl
mov edx, ecx
and dl, r11b
xor cl, r11b
or cl, dl
jne 0x180003f5c
add rdi, 1
add rbx, 1
xor cl, 1
jne 0x180003f30
cmp al, r10b
je 0x180003f79
add rbp, 4
add rsi, 2
jmp 0x180003f21
mov rcx, qword gs:[0x60]
jmp 0x180003c94
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, qword [rsp + 0x20]
call r9
mov eax, dword [0x180023470]
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 cl
cmp dword [0x180023474], 9
setg al
mov edx, eax
or dl, cl
xor dl, 1
xor al, cl
mov ecx, edx
and cl, al
xor al, dl
or al, cl
jne 0x180003fd5
mov rcx, qword gs:[0x60]
mov rbp, qword gs:[0x60]
test al, al
je 0x180003fcc
mov eax, dword [0x180023468]
mov edi, dword [0x18002346c]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, ebx
not edx
and ebx, 0x5daec19c
mov eax, edx
and eax, 0xa2513e63
or eax, ebx
xor eax, 0xa2513e62
and edx, 0xfffffffe
or edx, eax
cmp edx, 0xffffffff
sete al
setne cl
cmp edi, 0xa
setl dl
cmp edi, 9
setg bl
and al, bl
or bl, cl
xor bl, 1
and dl, cl
or dl, al
mov eax, dword [0x180023478]
mov ecx, dword [0x18002347c]
lea edi, [rax - 1]
imul edi, eax
mov eax, edi
not eax
mov esi, eax
and esi, 0xfffffffe
and edi, 1
or edi, esi
xor eax, edi
test eax, edi
setne r8b
sete r9b
cmp ecx, 9
setg r10b
cmp ecx, 0xa
setl cl
test bl, dl
jne 0x180004076
xor bl, dl
je 0x180004c10
xor cl, r9b
mov edx, r10d
and dl, r8b
xor r10b, r8b
or r10b, dl
xor r10b, 1
mov edx, ecx
and dl, r10b
xor r10b, cl
or r10b, dl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x1800040a7
test r10b, r10b
je 0x180004c08
movabs rax, 0x1774baab650d4cfb
sub rdx, rax
sub rdx, r14
add rdx, rax
je 0x180004120
mov r9, qword [r8 + 0x60]
xor esi, esi
mov rdi, rdx
movzx ebx, word [r9 + rsi*2]
movsx ecx, byte [rcx + rsi + 1]
lea eax, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmp ax, 0x1a
cmovae ebp, ebx
lea r11d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r11b, 0x1a
cmovae eax, ecx
cmp ebp, eax
jne 0x18000409c
test bx, bx
mov rcx, qword [rsp + 0x30]
je 0x180004120
mov rax, r13
add rdi, r13
not rax
add rdi, rax
add rsi, 1
cmp rdx, rsi
jne 0x1800040d8
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
cmp dword [r9 + rax + 0x8c], 0
je 0x180004c02
mov edi, dword [r9 + rax + 0x88]
mov ecx, dword [0x180023480]
mov ebp, dword [0x180023484]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and edx, 0x1f0f89ae
mov ebx, ecx
and ebx, 0xe0f07651
or ebx, edx
xor ebx, 0xe0f07650
and ecx, 0xfffffffe
or ecx, ebx
mov edx, ecx
not edx
and edx, 0xe78a99ef
and ecx, 0x18756610
or ecx, edx
xor ecx, 0x18756610
setne bl
cmp ebp, 9
setg dl
cmp ebp, 0xa
setl cl
xor cl, bl
mov eax, edx
and al, bl
xor dl, bl
or dl, al
cmp cl, dl
jne 0x1800041b0
or cl, dl
xor cl, 1
je 0x180004c14
cmp dword [r9 + rdi + 0x14], 0
je 0x180004c02
cmp dword [r9 + rdi + 0x18], 0
je 0x180004c02
mov eax, dword [0x180023488]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
xor eax, ecx
test eax, ecx
sete al
cmp dword [0x18002348c], 0xa
mov r8d, dword [r9 + rdi + 0x1c]
setl cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
xor cl, 1
test dl, cl
jne 0x180004212
xor dl, cl
je 0x180004c16
add r8, r9
mov ebp, dword [r9 + rdi + 0x20]
mov esi, dword [r9 + rdi + 0x24]
add rbp, r9
add rsi, r9
mov ebx, dword [rbp]
add rbx, r9
mov rdi, qword [rsp + 0x38]
movzx r11d, byte [rdi]
movzx r10d, byte [rbx]
cmp r11b, r10b
sete al
setne dl
test r11b, r11b
setne cl
xor dl, cl
xor dl, 1
or al, cl
xor al, 1
or al, dl
jne 0x180004260
add rdi, 1
add rbx, 1
xor al, 1
jne 0x180004230
cmp r11b, r10b
je 0x18000426f
add rbp, 4
add rsi, 2
jmp 0x180004225
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call r9
mov eax, dword [0x180023460]
mov ecx, dword [0x180023464]
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
setne r8b
sete al
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
mov edx, ebx
or bl, al
and al, cl
and dl, r8b
or dl, al
xor cl, r8b
xor bl, 1
or bl, cl
xor bl, 1
mov eax, edx
xor al, bl
test dl, bl
jne 0x18000382e
test al, al
je 0x180003c2e
jmp 0x18000382e
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x28]
add rdx, rax
mov qword [rsp + 0x20], rdx
add rcx, rax
mov qword [rsp + 0x78], rcx
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
and ecx, 0x3b21e91e
and eax, 0xc4de16e1
or eax, ecx
mov ecx, eax
xor ecx, 0xc4de16e1
xor eax, 0x1321e104
and eax, 0x5775f384
mov edx, ecx
and edx, 0xa88a0c7b
or edx, eax
xor edx, 0xa88a0c7a
and ecx, 0xfffffffe
or ecx, edx
mov eax, ecx
not eax
and eax, 0xe43d871d
and ecx, 0x1bc278e2
or ecx, eax
xor ecx, 0x1bc278e2
sete r9b
setne dl
cmp r8d, 9
setg bl
cmp r8d, 0xa
setl al
mov ecx, eax
xor cl, dl
and cl, al
and bl, r9b
and al, dl
or al, bl
mov edx, ecx
xor dl, 1
xor cl, al
xor al, 1
or al, dl
xor al, 1
or al, cl
test al, 1
je 0x180004394
mov rax, qword [rsp + 0x78]
mov rbp, qword [rax]
test rbp, rbp
je 0x180004be8
mov rax, qword [rsp + 0x40]
lea rcx, [rax + rbp]
mov rax, rbp
not rax
movabs rbx, 0x3deb06ae06a575e3
and rax, rbx
not rbx
mov rdx, rbp
and rdx, rbx
or rdx, rax
xor rdx, rbx
movabs rax, 0xb1206fccea1d9187
mov rsi, rax
not rax
movabs rbx, 0x7c98c4ef62192768
and rax, rbx
not rbx
mov rdi, rsi
and rdi, rbx
or rdi, rax
xor rdi, rbx
mov rax, rdx
and rax, 0xffffffffffff0000
xor rdx, 0xffffffffffff0000
or rdx, rax
mov rax, rsi
and rax, rdi
xor rdi, rsi
or rdi, rax
mov rax, rdx
not rax
movabs rbx, 0x283b803bf4e8e513
and rax, rbx
not rbx
and rdx, rbx
or rdx, rax
xor rdx, rbx
not rdx
not rdi
or rdi, rdx
movabs rdx, 0xaf94a82552e9b5e7
mov rax, rdx
not rax
or rax, rdx
not rdi
and rdi, rax
test rbp, rbp
cmovns rdi, rcx
mov qword [rsp + 0x80], rdi
jmp 0x180004496
movzx eax, word [rsi]
mov eax, dword [r9 + rax*4]
add r8, rax
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
call r8
mov rcx, qword [rsp + 0x20]
mov qword [rcx], rax
mov eax, dword [0x180023470]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
mov eax, ecx
not eax
and eax, 0xd07b08d5
and ecx, 0x2f84f72a
or ecx, eax
xor ecx, 0x2f84f72a
sete cl
cmp dword [0x180023474], 0xa
setl al
mov edx, ecx
xor dl, al
or al, cl
xor al, 1
or al, dl
xor dl, 1
mov ecx, edx
xor cl, al
or al, dl
xor al, 1
or al, cl
test al, 1
je 0x1800047e1
mov rbp, qword gs:[0x60]
test al, 1
je 0x1800047e1
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xb704d010
and edx, 0x48fb2fef
or edx, ebx
xor edx, 0x48fb2fee
xor eax, edx
test eax, edx
sete r8b
setne bl
cmp ecx, 9
setg al
cmp ecx, 0xa
setl dl
mov ecx, edx
xor cl, bl
and cl, dl
and al, r8b
and dl, bl
or dl, al
mov eax, dword [0x180023478]
mov ebx, dword [0x18002347c]
lea edi, [rax - 1]
imul edi, eax
mov eax, edi
not eax
and eax, 0x82595a88
and edi, 0x7da6a577
or edi, eax
mov eax, edi
xor eax, 0x7da6a576
and eax, 0xfffffffe
xor edi, 0x82595a89
or edi, eax
mov eax, edi
not eax
and eax, 0x65957d8a
and edi, 0x9a6a8275
or edi, eax
xor edi, 0x9a6a8275
setne r8b
sete r9b
cmp ebx, 0xa
setl r10b
cmp ebx, 9
setg bl
test cl, dl
jne 0x1800045bf
xor cl, dl
je 0x180004c26
and r9b, bl
and r10b, r8b
or r10b, r9b
mov ecx, ebx
and cl, r8b
xor bl, r8b
or bl, cl
xor r10b, 1
mov ecx, r10d
xor cl, bl
or r10b, bl
xor r10b, 1
or r10b, cl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rdx, qword [rsp + 0x30]
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x1800045f5
test r10b, 1
je 0x180004c22
movabs rax, 0x871c49a38aaa7dd9
mov rcx, rax
sub rdx, rax
movabs rax, 0xbb25ffa6ba9b60ee
add rdx, rax
sub rdx, qword [rsp + 0x60]
sub rdx, rax
movabs rax, 0x3a00ae1c50af0696
sub rdx, rax
add rdx, rcx
add rdx, rax
mov rcx, qword [rsp + 0x30]
movabs r14, 0x113b685a8e6d7c41
je 0x1800046a7
mov r9, qword [r8 + 0x60]
xor esi, esi
mov rdi, rdx
movzx ebx, word [r9 + rsi*2]
movsx ecx, byte [rcx + rsi + 1]
lea eax, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmp ax, 0x1a
cmovae ebp, ebx
lea r11d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r11b, 0x1a
cmovae eax, ecx
cmp ebp, eax
jne 0x1800045ed
test bx, bx
mov rcx, qword [rsp + 0x30]
je 0x1800046a7
add rdi, r14
mov rax, r14
not rax
add rdi, rax
add rsi, 1
cmp rdx, rsi
jne 0x18000465b
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
cmp dword [r9 + rax + 0x8c], 0
je 0x180004c1e
mov edi, dword [r9 + rax + 0x88]
mov eax, dword [0x180023480]
mov edx, dword [0x180023484]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
not eax
mov ebx, eax
and ebx, 0xb6448ec2
and ebp, 0x49bb713d
or ebp, ebx
xor ebp, 0xb6448ec3
or ebp, eax
cmp ebp, 0xffffffff
setne r8b
sete cl
cmp edx, 9
setg bl
cmp edx, 0xa
setl dl
mov eax, edx
xor al, cl
xor al, 1
xor bl, r8b
or dl, cl
xor dl, 1
or dl, bl
cmp al, dl
jne 0x180004728
or al, dl
xor al, 1
je 0x180004c28
cmp dword [r9 + rdi + 0x14], 0
je 0x180004c1e
cmp dword [r9 + rdi + 0x18], 0
je 0x180004c1e
mov r8d, dword [r9 + rdi + 0x1c]
mov eax, dword [0x180023488]
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 cl
cmp dword [0x18002348c], 9
setg al
mov edx, eax
or dl, cl
xor dl, 1
xor al, cl
test dl, al
jne 0x180004788
xor dl, al
je 0x180004c2a
add r8, r9
mov ebp, dword [r9 + rdi + 0x20]
mov esi, dword [r9 + rdi + 0x24]
add rbp, r9
add rsi, r9
mov rdi, qword [rsp + 0x68]
mov ebx, dword [rbp]
add rbx, r9
movzx eax, byte [rdi]
movzx r10d, byte [rbx]
cmp al, r10b
setne r11b
test al, al
sete dl
mov ecx, edx
and cl, r11b
xor dl, r11b
or dl, cl
jne 0x1800047d2
add rdi, 1
add rbx, 1
xor dl, 1
jne 0x1800047a6
cmp al, r10b
je 0x1800047ef
add rbp, 4
add rsi, 2
jmp 0x18000479b
mov rcx, qword gs:[0x60]
jmp 0x1800044f1
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
call r9
mov rcx, qword [rsp + 0x20]
mov qword [rcx], rax
mov r10d, dword [0x180023460]
mov r8d, dword [0x180023464]
lea eax, [r10 - 1]
imul eax, r10d
mov ecx, eax
not ecx
and eax, 0xdef8d23b
mov edx, ecx
and edx, 0x21072dc4
or edx, eax
xor edx, 0x21072dc5
and ecx, 0xfffffffe
or ecx, edx
mov eax, ecx
not eax
and eax, 0x2152784c
and ecx, 0xdead87b3
or ecx, eax
xor ecx, 0xdead87b3
sete r9b
setne bl
cmp r8d, 9
setg dl
cmp r8d, 0xa
setl al
mov ecx, edx
xor dl, bl
and bl, al
and cl, r9b
or cl, bl
or al, r9b
xor al, 1
or al, dl
mov edx, eax
xor dl, 1
cmp cl, dl
jne 0x180004bd7
xor cl, 1
or cl, al
xor cl, 1
jne 0x180004bd7
mov eax, dword [0x180023470]
mov edi, dword [0x180023474]
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
setne r8b
sete bl
cmp edi, 0xa
setl cl
cmp edi, 9
setg dl
mov eax, ecx
or cl, bl
and bl, dl
and al, r8b
or al, bl
xor dl, r8b
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
xor al, 1
xor dl, 1
or al, cl
xor al, 1
or al, dl
test al, 1
je 0x180004bc9
mov rbp, qword gs:[0x60]
test al, 1
je 0x180004bc9
mov ecx, dword [0x180023468]
mov edi, dword [0x18002346c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and edx, 0x62791e1d
mov ebx, ecx
and ebx, 0x9d86e1e2
or ebx, edx
xor ebx, 0x9d86e1e3
and ecx, 0xfffffffe
or ecx, ebx
mov edx, ecx
not edx
and edx, 0xa3d3c182
and ecx, 0x5c2c3e7d
or ecx, edx
xor ecx, 0x5c2c3e7d
sete bl
setne al
cmp edi, 9
setg dl
cmp edi, 0xa
setl cl
and al, cl
and dl, bl
or dl, al
mov eax, ecx
xor al, bl
or cl, bl
xor cl, 1
or cl, al
xor cl, 1
mov eax, dword [0x180023478]
lea ebx, [rax - 1]
imul ebx, eax
mov eax, ebx
not eax
mov edi, eax
and edi, 0xfffffffe
and ebx, 1
or ebx, edi
xor eax, ebx
test eax, ebx
setne bl
cmp dword [0x18002347c], 9
setg r9b
test dl, cl
jne 0x1800049bd
xor dl, cl
je 0x180004c2c
mov ecx, r9d
or cl, bl
xor r9b, bl
mov edx, ecx
xor dl, r9b
xor r9b, 1
xor dl, 1
or r9b, cl
xor r9b, 1
or r9b, dl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rdx, qword [rsp + 0x30]
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x1800049eb
test r9b, r9b
je 0x180004c24
sub rdx, qword [rsp + 0x60]
movabs r14, 0x8034c559e0530d6d
je 0x180004a63
mov r10, qword [r8 + 0x60]
xor esi, esi
mov rbx, rdx
movzx edi, word [r10 + rsi*2]
mov rax, qword [rsp + 0x30]
movsx ecx, byte [rax + rsi + 1]
lea eax, [rdi - 0x41]
lea ebp, [rdi + 0x20]
cmp ax, 0x1a
cmovae ebp, edi
lea r11d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r11b, 0x1a
cmovae eax, ecx
cmp ebp, eax
jne 0x1800049e3
test di, di
je 0x180004a63
add rbx, r14
mov rax, r14
sub rax, rbx
not rax
add rsi, 1
mov rbx, rax
cmp rdx, rsi
jne 0x180004a18
mov r8, qword [r8 + 0x30]
movsxd rax, dword [r8 + 0x3c]
cmp dword [r8 + rax + 0x8c], 0
je 0x180004c20
mov esi, dword [r8 + rax + 0x88]
mov ecx, dword [0x180023480]
mov edx, dword [0x180023484]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ebp, ebx
not ebp
and ebx, 0xea53cdbe
mov ecx, ebp
and ecx, 0x15ac3241
or ecx, ebx
xor ecx, 0x15ac3240
and ebp, 0xfffffffe
or ebp, ecx
cmp ebp, 0xffffffff
sete r9b
setne al
cmp edx, 9
setg bl
cmp edx, 0xa
setl cl
mov edx, ebx
xor bl, al
and al, cl
and dl, r9b
or dl, al
or cl, r9b
xor cl, 1
or cl, bl
mov eax, ecx
xor al, 1
cmp dl, al
jne 0x180004af2
xor dl, 1
or dl, cl
xor dl, 1
je 0x180004c2e
cmp dword [r8 + rsi + 0x14], 0
je 0x180004c20
cmp dword [r8 + rsi + 0x18], 0
je 0x180004c20
mov r9d, dword [r8 + rsi + 0x1c]
mov eax, dword [0x180023488]
mov ecx, dword [0x18002348c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebp, eax
and ebp, 0xfffffffe
and edx, 1
or edx, ebp
xor eax, edx
test eax, edx
sete al
setne bl
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
and bl, cl
and dl, al
or dl, bl
mov ebx, ecx
xor bl, al
or cl, al
xor cl, 1
or cl, bl
mov eax, ecx
xor al, 1
cmp dl, al
jne 0x180004b6c
xor dl, 1
or dl, cl
xor dl, 1
je 0x180004c30
add r9, r8
mov edi, dword [r8 + rsi + 0x20]
mov esi, dword [r8 + rsi + 0x24]
add rdi, r8
add rsi, r8
mov rbx, qword [rsp + 0x68]
mov ebp, dword [rdi]
add rbp, r8
movzx ecx, byte [rbx]
movzx r10d, byte [rbp]
cmp cl, r10b
setne r11b
test cl, cl
sete dl
mov eax, edx
and al, r11b
xor dl, r11b
or dl, al
jne 0x180004bb6
add rbx, 1
add rbp, 1
xor dl, 1
jne 0x180004b89
cmp cl, r10b
je 0x180004471
add rdi, 4
add rsi, 2
jmp 0x180004b7f
mov rcx, qword gs:[0x60]
jmp 0x180004905
add qword [rsp + 0x78], 8
add qword [rsp + 0x20], 8
jmp 0x18000430c
mov rbx, qword [rsp + 0x58]
add rbx, 0x14
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
jmp 0x1800037c7
jmp 0x180004c00
jmp 0x180004c02
jmp 0x180004c04
jmp 0x180004c06
jmp 0x180004c08
jmp 0x180004c0a
jmp 0x180004c0c
jmp 0x180004c0e
jmp 0x180004c10
jmp 0x180004c12
jmp 0x180004c14
jmp 0x180004c16
jmp 0x180004c18
jmp 0x180004c1a
jmp 0x180004c1c
jmp 0x180004c1e
jmp 0x180004c20
jmp 0x180004c22
jmp 0x180004c24
jmp 0x180004c26
jmp 0x180004c28
jmp 0x180004c2a
jmp 0x180004c2c
jmp 0x180004c2e
jmp 0x180004c30
mov eax, dword [rsi + 0x28]
add rax, qword [rsp + 0x28]
call rax
mov eax, dword [0x180023460]
mov edx, dword [0x180023464]
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
setne bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl al
xor al, bl
mov edx, ecx
and dl, bl
xor cl, bl
or cl, dl
cmp al, cl
jne 0x180004d59
or al, cl
xor al, 1
jne 0x180004d59
mov eax, dword [rsi + 0x28]
mov rdi, qword [rsp + 0x28]
add rax, rdi
call rax
mov eax, dword [rsi + 0x28]
add rax, rdi
call rax
mov eax, dword [0x180023460]
mov edi, dword [0x180023464]
lea ebp, [rax - 1]
imul ebp, eax
mov ecx, ebp
not ecx
and ebp, 0x175ccc71
mov eax, ecx
and eax, 0xe8a3338e
or eax, ebp
xor eax, 0xe8a3338f
and ecx, 0xfffffffe
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 0x180004d04
xor cl, 1
or al, cl
xor al, 1
je 0x180004c8e
mov eax, dword [rsi + 0x28]
add rax, qword [rsp + 0x28]
call rax
mov eax, dword [0x180023460]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0x84b5a469
and ecx, 0x7b4a5b96
or ecx, edx
xor ecx, 0x7b4a5b97
xor eax, ecx
test eax, ecx
sete dl
cmp dword [0x180023464], 0xa
setl al
xor dl, al
mov ecx, edx
xor cl, 1
and al, cl
cmp al, dl
jne 0x180004d59
xor al, 1
jmp 0x180004c84
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret