Function at 0x180001280
Capabilities:
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, 0x98
mov eax, dword [0x180023460]
mov ecx, dword [0x180023464]
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 dl
setne bl
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
or cl, bl
xor cl, 1
xor al, dl
test cl, al
jne 0x1800012e2
xor cl, al
jne 0x1800012e2
nop word cs:[rax + rax]
nop
jmp 0x1800012e0
mov al, byte [section..data]
mov byte [rsp + 0x44], al
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
xor eax, ecx
test eax, ecx
sete al
cmp dword [0x180023464], 0xa
setl dl
xor al, dl
mov ecx, eax
not cl
and cl, dl
test cl, al
jne 0x18000132b
xor cl, al
je 0x180001470
mov al, byte [0x180006001]
mov byte [rsp + 0x45], al
mov ecx, dword [0x180023460]
mov eax, dword [0x180023464]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and edx, 0x1508c9f0
mov ebp, ecx
and ebp, 0xeaf7360f
or ebp, edx
xor ebp, 0xeaf7360e
and ecx, 0xfffffffe
or ecx, ebp
mov edx, ecx
not edx
and edx, 0x14ec3a36
and ecx, 0xeb13c5c9
or ecx, edx
xor ecx, 0xeb13c5c9
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
jne 0x1800013ac
xor cl, al
je 0x180001470
mov eax, dword [0x180023460]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xfecb9b01
mov edx, eax
and edx, 0x13464fe
or edx, ecx
mov cl, byte [0x180006002]
xor edx, 0x13464ff
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
sete dl
cmp dword [0x180023464], 0xa
mov byte [rsp + 0x46], cl
setl al
mov ecx, eax
xor cl, dl
or al, dl
xor al, 1
or al, cl
xor cl, 1
cmp cl, al
jne 0x180001409
or cl, al
xor cl, 1
je 0x180001470
mov al, byte [0x180006003]
mov byte [rsp + 0x47], al
mov eax, dword [0x180023460]
mov ebp, dword [0x180023464]
lea r10d, [rax - 1]
imul r10d, eax
mov r9d, r10d
not r9d
mov eax, r9d
and eax, 0x64c7147d
mov ecx, r10d
and ecx, 0x9b38eb82
or ecx, eax
mov eax, ecx
xor eax, 0x9b38eb82
and eax, 0xfffffffe
xor ecx, 0x64c7147c
or ecx, eax
cmp ecx, 0xffffffff
setne dl
cmp ebp, 9
setg al
mov ecx, eax
or cl, dl
xor cl, 1
xor al, dl
test cl, al
jne 0x180001472
xor cl, al
jne 0x180001472
nop
jmp 0x180001470
mov dword [rsp + 0x30], ebp
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
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, 0xff81659e
and edx, 0x7e9a61
or edx, eax
xor edx, 0x7e9a61
sete al
setne dl
cmp ecx, 0xa
setl r8b
cmp ecx, 9
setg cl
or cl, dl
xor cl, 1
xor r8b, al
mov eax, ecx
and al, r8b
xor r8b, cl
or r8b, al
cmp r8b, 1
jne 0x1800015d0
mov eax, dword [rsp + 0x44]
mov qword [rsp + 0x20], rax
movabs r11, 0xfe24b9e62f0a58c4
movabs r12, 0xaa6048a8c31fb20c
movabs r14, 0x9e44c37d009c2007
movabs r13, 0x71e2bc7dc8e54b97
xor ebp, ebp
nop
cmp rbp, qword [rsp + 0x20]
je 0x1800015d2
mov rax, r13
and rax, 0xfffffffffffffc00
mov rsi, r13
not rsi
mov edx, esi
and edx, 0x3ff
or rdx, rax
xor rdx, rsi
mov rax, rbp
not rax
mov rsi, r12
and rsi, rax
mov rdi, r12
not rdi
mov r15, rbp
and r15, rdi
or r15, rsi
and rdi, rdx
not rdx
and rdx, r12
or rdi, rdx
xor rdi, r15
xor rax, rdi
and rax, rdi
lea rsi, section..data
movzx eax, byte [rax + rsi + 4]
movzx edx, byte [rbp + rsi + 0x404]
mov ebx, edx
not bl
mov ecx, ebx
and cl, 0xe7
and dl, 0x18
or dl, cl
xor dl, al
xor dl, 0xe7
and dl, al
mov ecx, eax
not cl
and cl, 0xe1
and al, 0x1e
or al, cl
xor al, 0xe1
or al, bl
not al
mov ecx, edx
and cl, al
xor al, dl
or al, cl
mov byte [rbp + rsi + 0x404], al
add rbp, r14
add rbp, r11
sub rbp, r14
sub rbp, r11
add rbp, 1
test r8b, r8b
jne 0x180001510
nop word [rax + rax]
jmp 0x1800015d0
mov eax, r9d
and eax, 0x23f38c77
and r10d, 0xdc0c7388
or r10d, eax
xor r10d, 0xdc0c7389
xor r9d, r10d
test r9d, r10d
sete r9b
setne bl
mov eax, dword [rsp + 0x30]
cmp eax, 9
setg dl
cmp eax, 0xa
setl al
mov ecx, eax
xor cl, bl
and cl, al
and dl, r9b
and al, bl
or al, dl
test cl, al
jne 0x180001622
xor cl, al
jne 0x180001622
nop dword [rax]
jmp 0x180001620
lea rax, section..data
mov rcx, qword [rsp + 0x20]
lea r8, [rcx + rax]
add r8, 0x404
mov al, byte [r8]
mov byte [rsp + 0x40], al
mov eax, dword [0x180023460]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xdb71c17e
and ecx, 0x248e3e81
or ecx, edx
xor ecx, 0x248e3e80
xor eax, ecx
test eax, ecx
setne dl
cmp dword [0x180023464], 9
setg al
mov ecx, edx
xor cl, al
and al, dl
or al, cl
xor al, 1
test cl, al
jne 0x18000168d
xor cl, al
je 0x180001790
mov al, byte [r8 + 1]
mov byte [rsp + 0x41], al
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
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
jne 0x1800016e2
xor cl, al
je 0x180001790
mov al, byte [r8 + 2]
mov byte [rsp + 0x42], al
mov eax, dword [0x180023460]
mov edi, dword [0x180023464]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov ebp, eax
and ebp, 0x450a5a7f
and ecx, 0xbaf5a580
or ecx, ebp
xor ecx, 0xbaf5a581
xor eax, ecx
test eax, ecx
sete bl
setne r9b
cmp edi, 0xa
setl cl
cmp edi, 9
setg al
and bl, al
or al, r9b
mov edx, eax
xor dl, 1
and cl, r9b
or cl, bl
cmp dl, cl
jne 0x180001749
xor cl, 1
or al, cl
xor al, 1
je 0x180001790
mov al, byte [r8 + 3]
mov byte [rsp + 0x43], al
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
cmp ecx, 0xffffffff
sete al
cmp dword [0x180023464], 0xa
setl dl
xor al, dl
mov ecx, eax
not cl
and cl, dl
test cl, al
jne 0x180001792
xor cl, al
jne 0x180001792
nop
jmp 0x180001790
mov eax, dword [0x180023468]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xee399f0a
and ecx, 0x11c660f5
or ecx, eax
mov eax, ecx
xor eax, 0x11c660f4
and eax, 0xfffffffe
xor ecx, 0xee399f0b
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x18002346c], 0xa
setl r13b
mov ecx, eax
xor cl, r13b
or r13b, al
xor r13b, 1
or r13b, cl
xor r13b, 1
mov eax, ecx
and al, r13b
xor r13b, cl
or r13b, al
test r13b, 1
je 0x180001960
add r8, 4
mov r14d, dword [rsp + 0x40]
movabs r15, 0xce005ad72d8724ee
movabs r9, 0xbc8b8b009bb1ae7c
movabs r12, 0x9ada93e033529351
movabs r10, 0x3e695d6e61b55605
movabs r11, 0x28e4ab75af9c380c
xor ebp, ebp
cmp rbp, r14
je 0x180001962
mov rax, rbp
not rax
and rax, r9
mov rcx, r9
not rcx
mov rdi, rbp
and rdi, rcx
or rdi, rax
xor rdi, rcx
movabs rsi, 0xffc24dc337d23b13
mov rcx, rsi
and rcx, 0xfffffffffffffc00
not rsi
mov eax, esi
and eax, 0x3ff
or rax, rcx
xor rax, rsi
mov rsi, rdi
not rsi
mov rcx, r12
not rcx
mov rbx, rsi
and rbx, r12
and rdi, rcx
or rdi, rbx
mov rbx, rax
not rbx
or rsi, rbx
and rbx, r12
and rax, rcx
or rax, rbx
xor rax, rdi
mov rdi, r15
not rdi
not rsi
or rcx, r12
and rcx, rsi
or rcx, rax
mov rax, r15
and rax, rdi
xor rdi, r15
or rdi, rax
mov rax, rcx
not rax
and rax, r11
mov rsi, r11
not rsi
and rcx, rsi
or rcx, rax
xor rcx, rsi
not rcx
not rdi
or rdi, rcx
mov rax, r10
not rax
or rax, r10
not rdi
and rdi, rax
lea rax, section..data
movzx ecx, byte [rdi + rax + 4]
movzx eax, byte [r8 + rbp]
mov ebx, eax
xor bl, cl
and bl, cl
mov edx, ecx
not dl
and dl, 0x4d
and cl, 0xb2
or cl, dl
xor cl, al
xor cl, 0x4d
and cl, al
mov eax, ebx
not al
mov edx, eax
and dl, 0xd8
and bl, 0x27
or bl, dl
mov edx, ecx
not dl
or al, dl
and dl, 0xd8
and cl, 0x27
or cl, dl
xor cl, bl
not al
or al, cl
mov byte [r8 + rbp], al
add rbp, 1
test r13b, 1
jne 0x180001837
nop dword [rax + rax]
jmp 0x180001960
movsxd rax, dword [0x180006440]
lea rcx, section..data
mov rdx, qword [rsp + 0x20]
lea r14, [rdx + rcx]
add r14, 0x407
cmp byte [r14 + 1], 0
lea r14, [r14 + 1]
jne 0x180001980
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rsp + 0x48], rax
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
xor eax, ecx
test eax, ecx
setne dl
cmp dword [0x180023474], 9
setg cl
mov eax, ecx
or al, dl
mov ebx, eax
xor bl, 1
xor cl, dl
mov rbp, r14
add rbp, 1
mov rdx, rbp
cmp bl, cl
jne 0x1800019f2
xor cl, 1
or al, cl
xor al, 1
mov rdx, rbp
jne 0x1800019f2
jmp 0x1800019f0
cmp byte [rdx], 0
lea rdx, [rdx + 1]
jne 0x1800019f2
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x80], rdx
cmp byte [rdx], 0
lea rdx, [rdx + 1]
jne 0x180001a08
mov qword [rsp + 0x70], rdx
mov rax, qword gs:[0x60]
mov rsi, qword [rax + 0x18]
mov eax, dword [0x180023478]
mov edx, dword [0x18002347c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov ebp, eax
and ebp, 0x63a5b3e3
and ecx, 0x9c5a4c1c
or ecx, ebp
xor ecx, 0x63a5b3e2
or ecx, eax
cmp ecx, 0xffffffff
sete al
setne bl
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and al, dl
or dl, bl
xor dl, 1
and cl, bl
or cl, al
mov ebp, dword [0x180023480]
mov eax, dword [0x180023484]
lea ebx, [rbp - 1]
imul ebx, ebp
mov ebp, ebx
not ebp
and ebp, 0x23d5a5c1
and ebx, 0xdc2a5a3e
or ebx, ebp
mov edi, ebx
xor edi, 0xdc2a5a3e
xor ebx, 0x2340a1c1
and ebx, 0xb360a1eb
mov ebp, edi
and ebp, 0x4c9f5e14
or ebp, ebx
xor ebp, 0x4c9f5e15
and edi, 0xfffffffe
or edi, ebp
cmp edi, 0xffffffff
sete bl
setne r9b
cmp eax, 9
setg r10b
cmp eax, 0xa
setl al
test dl, cl
jne 0x180001adf
xor dl, cl
jne 0x180001adf
jmp 0x180001add
add rsi, 0x10
mov ecx, eax
xor cl, r9b
and cl, al
and bl, r10b
and al, r9b
or al, bl
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov byte [rsp + 0x38], al
movabs r9, 0x6c8f089e4f988566
xor eax, eax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
cmp rax, qword [rsp + 0x28]
je 0x180001c45
mov r12, r14
cmp byte [r12 + 1], 0
lea r12, [r12 + 1]
jne 0x180001b34
cmp byte [rsp + 0x38], 0
je 0x180001dba
movabs rax, 0x92a8d1da5df326bb
add r12, rax
movabs rcx, 0x531a395caaea80e1
add r12, rcx
sub r12, rax
movabs rax, 0xc26a28c1f86c4f1f
sub r12, rax
sub r12, qword [rsp + 0x58]
add r12, rax
sub r12, rcx
je 0x180001c37
mov rax, qword [rsp + 0x30]
mov r11, qword [rax + 0x60]
xor ebx, ebx
mov r13, r12
movzx eax, word [r11 + rbx*2]
test eax, eax
setne r15b
sete cl
lea esi, [rax - 0x41]
lea edi, [rax + 0x20]
cmp si, 0x1a
cmovae edi, eax
movsx eax, byte [r14 + rbx + 1]
lea esi, [rax - 0x41]
lea ebp, [rax + 0x20]
cmp sil, 0x1a
cmovae ebp, eax
sub edi, ebp
sete al
setne dl
mov r10d, ecx
xor r10b, dl
xor al, r15b
or cl, dl
xor cl, 1
or cl, al
mov eax, ecx
xor al, 1
cmp r10b, al
jne 0x180001c2f
xor r10b, 1
or r10b, cl
xor r10b, 1
jne 0x180001c2f
movabs rax, 0x6a24b8464def7206
mov rcx, rax
sub r13, rax
movabs rax, 0xa9cbaadf204a7d62
sub r13, rax
add r13, rcx
add r13, r9
add r13, rax
mov rax, r9
not rax
add r13, rax
add rbx, 1
cmp r12, rbx
jne 0x180001b95
jmp 0x180001c37
test edi, edi
jne 0x180001b19
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rcx, rax
movsxd rax, dword [rax + 0x3c]
cmp dword [rcx + rax + 0x8c], 0
je 0x180001dbc
mov rcx, qword [rsp + 0x20]
mov rdx, rcx
mov ecx, dword [rcx + rax + 0x88]
cmp dword [rdx + rcx + 0x14], 0
je 0x180001dbc
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + rcx + 0x18]
mov dword [rsp + 0x30], eax
test eax, eax
je 0x180001dbc
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea edx, [rax - 1]
imul edx, eax
mov r12d, edx
not r12d
mov eax, r12d
and eax, 0xa2ee7ca5
and edx, 0x5d11835a
or edx, eax
xor edx, 0x5d11835b
xor r12d, edx
and r12d, edx
setne dl
mov dword [rsp + 0x28], ebp
cmp ebp, 9
setg bl
mov eax, ebx
xor al, dl
and bl, dl
or bl, al
xor al, 1
mov edx, eax
xor dl, bl
or al, bl
xor al, 1
or al, dl
test al, al
je 0x180001ce3
mov rax, qword [rsp + 0x20]
mov edx, dword [rax + rcx + 0x1c]
mov ebp, dword [rax + rcx + 0x20]
add rdx, rax
mov qword [rsp + 0x38], rdx
mov r10d, dword [rax + rcx + 0x24]
add r10, rax
add rbp, rax
mov eax, dword [0x180023490]
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
sete al
cmp dword [0x180023494], 0xa
setl cl
xor al, cl
xor al, 1
and cl, al
xor cl, 1
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov r15b, 1
xor edi, edi
mov esi, dword [rbp]
add rsi, qword [rsp + 0x20]
mov rax, r8
test cl, cl
je 0x180001d59
movzx r9d, byte [rax]
movzx r13d, byte [rsi]
cmp r9b, r13b
sete bl
setne dl
test r9b, r9b
setne r11b
xor dl, r11b
xor dl, 1
or bl, r11b
xor bl, 1
or bl, dl
jne 0x180001d94
add rsi, 1
add rax, 1
test r15b, r15b
je 0x180001d94
jne 0x180001d59
cmp r9b, r13b
je 0x180001e3c
add r10, 2
add rbp, 4
add edi, 1
cmp edi, dword [rsp + 0x30]
jne 0x180001d4e
xor eax, eax
mov qword [rsp + 0x20], rax
jmp 0x180001e4d
jmp 0x180001dba
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov r12d, ecx
not r12d
and ecx, 0xddd3f23f
mov eax, r12d
and eax, 0x222c0dc0
or eax, ecx
xor eax, 0x222c0dc1
and r12d, 0xfffffffe
or r12d, eax
mov eax, r12d
not eax
and eax, 0x85990eec
and r12d, 0x7a66f113
or r12d, eax
xor r12d, 0x7a66f113
sete dl
setne bl
cmp ebp, 0xa
setl al
mov dword [rsp + 0x28], ebp
cmp ebp, 9
setg cl
xor cl, bl
or al, dl
xor al, 1
or al, cl
xor al, 1
xor edx, edx
mov qword [rsp + 0x20], rdx
test cl, al
jne 0x180001e4d
xor cl, al
jne 0x180001e4d
jmp 0x180001e3a
movzx eax, word [r10]
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
add qword [rsp + 0x20], rax
test r12d, r12d
sete cl
setne al
mov ebp, dword [rsp + 0x28]
cmp ebp, 0xa
setl dl
cmp ebp, 9
setg r8b
and dl, al
or al, r8b
mov ebx, eax
xor bl, 1
and cl, r8b
or cl, dl
cmp bl, cl
jne 0x180001e85
xor cl, 1
or al, cl
xor al, 1
jne 0x180001e85
jmp 0x180001e83
mov rsi, qword [rsp + 0x48]
mov edx, dword [rsi + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call qword [rsp + 0x20]
mov qword [rsp + 0x20], rax
cmp word [rsi + 6], 0
je 0x180002022
mov rax, qword [rsp + 0x48]
add rax, 0x108
mov qword [rsp + 0x30], rax
movabs r12, 0x45db65e6272745f6
mov r10d, dword [0x180023460]
mov esi, dword [0x180023464]
xor r11d, r11d
jmp 0x180001f1b
movabs rax, 0xc0c7b82b78b684b8
mov rcx, rax
add r11, rax
movabs rdx, 0xa716b346aaf3685f
mov rax, rdx
sub rax, r11
add rax, rcx
neg rax
lea r11, [rdx + rax]
add r11, 1
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 6]
cmp r11, rax
jae 0x180002022
lea ecx, [r10 - 1]
imul ecx, r10d
mov edx, ecx
not edx
mov ebp, edx
and ebp, 0xfffffffe
and ecx, 1
or ecx, ebp
not ecx
or ecx, edx
cmp ecx, 0xffffffff
sete r8b
setne dil
cmp esi, 9
setg dl
cmp esi, 0xa
setl cl
mov ebx, ecx
xor bl, dil
and bl, cl
and dl, r8b
and cl, dil
or cl, dl
cmp bl, cl
jne 0x180001f70
xor bl, 1
xor cl, 1
or cl, bl
xor cl, 1
je 0x180002020
lea rcx, [r11 + r11*4]
mov rax, qword [rsp + 0x30]
mov r15d, dword [rax + rcx*8 + 0x10]
test r15, r15
je 0x180001edb
mov rax, qword [rsp + 0x30]
mov r9d, dword [rax + rcx*8 + 0xc]
mov eax, dword [rax + rcx*8 + 0x14]
add r9, qword [rsp + 0x20]
lea rcx, section..data
lea r13, [rax + rcx]
add r13, 0x404
xor ecx, ecx
mov rbx, r15
jmp 0x180001fcc
add rbx, r12
mov rdx, r12
not rdx
add rbx, rdx
add rcx, 1
cmp r15, rcx
je 0x180001edb
movzx eax, byte [r13 + rcx]
mov byte [r9 + rcx], al
mov r10d, dword [0x180023460]
mov esi, dword [0x180023464]
lea edx, [r10 - 1]
imul edx, r10d
mov ebp, edx
not ebp
mov edi, ebp
and edi, 0xfffffffe
and edx, 1
or edx, edi
xor ebp, edx
test ebp, edx
setne al
cmp esi, 9
setg dl
mov r8d, eax
xor r8b, dl
and dl, al
or dl, r8b
xor dl, 1
test r8b, dl
jne 0x180001fb3
xor r8b, dl
jne 0x180001fb3
jmp 0x18000201e
jmp 0x180002020
mov r12d, dword [0x180023468]
mov r13d, dword [0x18002346c]
lea edx, [r12 - 1]
imul edx, r12d
mov ecx, edx
not ecx
and ecx, 0xfffffffe
xor edx, 1
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x42d3a485
and edx, 0xbd2c5b7a
or edx, ecx
xor edx, 0xbd2c5b7a
setne r8b
cmp r13d, 9
setg bl
mov ecx, r8d
xor cl, bl
mov eax, ecx
xor al, 1
and bl, r8b
or bl, cl
xor cl, bl
xor cl, 1
or bl, al
xor bl, 1
or bl, cl
test bl, bl
je 0x180002082
mov rax, qword [rsp + 0x48]
mov r9d, dword [rax + 0xb0]
mov rax, qword [rsp + 0x20]
cmp dword [rax + r9], 0
je 0x18000257c
movabs rax, 0x7b757b88ed7bda7f
mov rcx, qword [rsp + 0x20]
mov rbp, rcx
lea rsi, [rcx + rax]
movabs rcx, 0x1dbbeabb314a63f6
add rsi, rcx
mov rdx, qword [rsp + 0x48]
sub rsi, qword [rdx + 0x30]
sub rsi, rcx
sub rsi, rax
add r9, rbp
movabs r15, 0x2226066ebeaca857
mov r8, r9
jmp 0x1800020fc
mov eax, dword [r8 + 4]
lea r9, [r8 + rax]
cmp dword [r8 + rax], 0
mov r8, r9
je 0x180002539
mov ebx, dword [r8 + 4]
cmp rbx, 8
jb 0x1800024dc
lea ebp, [r12 - 1]
imul ebp, r12d
mov edi, ebp
not edi
mov eax, edi
and eax, 0xfffffffe
and ebp, 1
or ebp, eax
mov eax, ebp
xor eax, edi
test eax, ebp
sete r10b
setne al
cmp r13d, 0xa
setl dl
cmp r13d, 9
setg cl
or cl, al
mov eax, ecx
xor al, 1
xor dl, r10b
cmp al, dl
jne 0x180002157
xor dl, 1
or cl, dl
xor cl, 1
je 0x180002537
not ebp
or ebp, edi
cmp ebp, 0xffffffff
setne al
cmp r13d, 9
setg cl
mov edx, ecx
or dl, al
xor dl, 1
xor cl, al
test dl, cl
jne 0x18000217d
xor dl, cl
je 0x180002533
movabs rax, 0x2c9138f08ff48179
sub rbx, rax
movabs rcx, 0x1fffffff8
add rbx, rcx
movabs rcx, 0x5317a3822514e9a
add rbx, rcx
add rbx, rax
sub rbx, rcx
shr rbx, 1
mov rax, rbx
not rax
movabs rcx, 0xd530b7a78b92278e
and rax, rcx
not rcx
and rbx, rcx
or rbx, rax
xor rbx, rcx
mov eax, 0xffffffff
not rax
movabs rcx, 0x93cd9c9fb49acf8a
and rax, rcx
not rcx
mov edi, ecx
mov edx, 0xffffffff
and edi, edx
or rdi, rax
xor rdi, rcx
movabs rcx, 0x3625ac5575e4ff81
mov rbp, rcx
not rbp
mov rax, rbx
and rax, rdi
xor rdi, rbx
or rdi, rax
mov rax, rcx
and rax, rbp
xor rbp, rcx
or rbp, rax
mov rax, rdi
not rax
movabs rcx, 0x7f028dca4e9f057f
and rax, rcx
not rcx
and rdi, rcx
or rdi, rax
xor rdi, rcx
xor rbp, rdi
not rbp
and rbp, rdi
xor r10d, r10d
cmp rbp, r10
je 0x1800024dc
movzx eax, word [r8 + r10*2 + 8]
mov edx, eax
shr edx, 0xc
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xf000
mov r11d, eax
and r11d, 0xfff
or r11d, edi
not r11d
or r11d, ecx
not r11d
cmp eax, 0xa000
jae 0x180002370
cmp edx, 3
jne 0x18000248c
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
and ecx, 0xd32a0f8b
and eax, 0x2cd5f074
or eax, ecx
mov ecx, eax
xor ecx, 0x2cd5f074
xor eax, 0x9222068a
and eax, 0xb2e256ae
mov edx, ecx
and edx, 0x4d1da951
or edx, eax
xor edx, 0x4d1da950
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
not ecx
sete dl
cmp r13d, 0xa
setl al
xor dl, al
mov ebx, edx
not bl
and bl, al
test bl, dl
jne 0x18000233a
xor bl, dl
jne 0x18000233a
mov eax, dword [r9]
mov rcx, qword [rsp + 0x20]
lea rax, [rcx + rax*4]
mov ecx, r11d
add dword [rax + rcx*4], esi
mov eax, dword [0x180023468]
mov r13d, dword [0x18002346c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x1e1f3fa9
and ecx, 0xe1e0c056
or ecx, eax
mov eax, ecx
xor eax, 0xe1e0c056
and eax, 0xfffffffe
xor ecx, 0x1e1f3fa8
or ecx, eax
not ecx
test ecx, ecx
setne dl
sete cl
cmp r13d, 9
setg al
xor cl, al
xor cl, 1
mov ebx, eax
and bl, dl
xor al, dl
or al, bl
xor al, 1
mov edi, r11d
test cl, al
jne 0x180002410
xor cl, al
je 0x18000247b
jmp 0x180002410
cmp edx, 0xa
jne 0x18000248c
mov eax, dword [r9]
mov ecx, r11d
movabs rdx, 0x71f4d0182a1d60d2
add rcx, rdx
sub rdx, rcx
mov rcx, qword [rsp + 0x20]
movabs rbx, 0xe6d9cc0838741926
add rcx, rbx
sub rbx, rcx
add rbx, rdx
add rax, r15
mov rcx, r15
sub rcx, rax
add rcx, rbx
neg rcx
add qword [rcx], rsi
mov r12d, dword [0x180023468]
mov r13d, dword [0x18002346c]
jmp 0x18000248c
add r10, 1
cmp ebx, 0xffffffff
sete al
setne cl
cmp r13d, 9
setg bl
cmp r13d, 0xa
setl dl
and cl, dl
and bl, al
or bl, cl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
xor dl, 1
test bl, dl
jne 0x180002246
xor bl, dl
jne 0x180002246
jmp 0x180002533
mov eax, dword [r9]
mov rcx, qword [rsp + 0x20]
lea rax, [rcx + rax*4]
add dword [rax + rdi*4], esi
mov r12d, dword [0x180023468]
mov r13d, dword [0x18002346c]
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
test ecx, eax
sete r11b
setne bl
cmp r13d, 9
setg al
cmp r13d, 0xa
setl dl
mov ecx, edx
xor cl, bl
and cl, dl
and al, r11b
and dl, bl
or dl, al
cmp cl, dl
jne 0x18000248c
xor cl, 1
xor dl, 1
or dl, cl
xor dl, 1
jne 0x18000248c
mov eax, dword [r9]
mov rcx, qword [rsp + 0x20]
lea rax, [rcx + rax*4]
add dword [rax + rdi*4], esi
jmp 0x180002410
lea ebx, [r12 - 1]
imul ebx, r12d
mov eax, ebx
not eax
mov ecx, eax
and ecx, 0xfffffffe
and ebx, 1
or ebx, ecx
not ebx
or ebx, eax
cmp ebx, 0xffffffff
sete cl
setne dl
cmp r13d, 0xa
setl r11b
xor dl, r11b
mov eax, edx
xor al, 1
or cl, r11b
xor cl, 1
or cl, al
cmp dl, cl
jne 0x1800023cc
or dl, cl
xor dl, 1
jne 0x1800023cc
jmp 0x180002535
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x86b89104
and eax, 0x79476efb
or eax, edx
xor eax, 0x79476efa
xor ecx, eax
test ecx, eax
sete al
setne bl
cmp r13d, 0xa
setl dl
xor bl, dl
mov ecx, edx
xor cl, al
xor bl, 1
or dl, al
xor dl, 1
or dl, bl
xor dl, 1
test cl, dl
jne 0x1800020e6
xor cl, dl
jne 0x1800020e6
jmp 0x180002531
jmp 0x180002533
jmp 0x180002535
jmp 0x180002537
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
and ecx, 0xd82742f7
and eax, 0x27d8bd08
or eax, ecx
mov edx, eax
xor edx, 0x27d8bd08
xor eax, 0x900540a3
and eax, 0x955545ab
mov ecx, edx
and ecx, 0x6aaaba54
or ecx, eax
xor ecx, 0x6aaaba55
and edx, 0xfffffffe
or edx, ecx
not edx
test edx, edx
sete r8b
setne cl
cmp r13d, 9
setg bl
cmp r13d, 0xa
setl dl
mov eax, edx
xor al, cl
and al, dl
and bl, r8b
and dl, cl
or dl, bl
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
test dl, dl
je 0x1800025a8
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x90]
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x68], rcx
mov edx, dword [rax + rcx + 0xc]
test edx, edx
je 0x180003e8c
mov rax, qword [rsp + 0x20]
add qword [rsp + 0x68], rax
add rax, 2
mov qword [rsp + 0x90], rax
mov eax, edx
add rax, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
jmp 0x1800025f9
mov rcx, qword [rsp + 0x28]
call r11
mov rbp, qword gs:[0x60]
mov eax, dword [0x180023478]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xccf65f53
and ecx, 0x3309a0ac
or ecx, eax
mov eax, ecx
xor eax, 0x3309a0ac
and eax, 0xfffffffe
xor ecx, 0xccf65f52
or ecx, eax
mov eax, ecx
not eax
and eax, 0x6c852464
and ecx, 0x937adb9b
or ecx, eax
xor ecx, 0x937adb9b
sete al
cmp dword [0x18002347c], 0xa
setl bl
mov r8d, ebx
xor r8b, al
or bl, al
xor bl, 1
or bl, r8b
xor bl, 1
mov eax, dword [0x180023470]
mov ecx, dword [0x180023474]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov edi, eax
and edi, 0x3fa47c7d
and edx, 0xc05b8382
or edx, edi
xor edx, 0x3fa47c7c
or edx, eax
cmp edx, 0xffffffff
setne r9b
sete r11b
cmp ecx, 0xa
setl r10b
cmp ecx, 9
setg dl
mov eax, dword [0x180023480]
mov ecx, dword [0x180023484]
lea esi, [rax - 1]
imul esi, eax
mov eax, esi
not eax
and eax, 0x84dd19f2
and esi, 0x7b22e60d
or esi, eax
mov eax, esi
xor eax, 0x7b22e60c
and eax, 0xfffffffe
xor esi, 0x84dd19f3
or esi, eax
cmp esi, 0xffffffff
setne sil
cmp ecx, 9
setg r12b
cmp ecx, 0xa
setl al
test r8b, bl
jne 0x180002703
xor r8b, bl
je 0x180003ef6
and r11b, dl
and r10b, r9b
or r10b, r11b
mov ecx, edx
and cl, r9b
xor dl, r9b
or dl, cl
mov ecx, edx
xor cl, r10b
xor r10b, 1
xor cl, 1
or r10b, dl
xor r10b, 1
or r10b, cl
xor al, sil
xor al, 1
mov ecx, r12d
and cl, sil
xor r12b, sil
or r12b, cl
xor r12b, 1
mov ecx, eax
and cl, r12b
xor r12b, al
or r12b, cl
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rdx, r14
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x18000275a
test r10b, 1
je 0x180003eee
test r12b, r12b
je 0x180003ef0
movabs rax, 0x70a468e55bade028
mov rcx, rax
add rdx, rax
movabs rax, 0xbfceabcdb1abeca6
add rdx, rax
sub rdx, rcx
movabs rcx, 0x1b86cc534c00638
add rdx, rcx
sub rdx, qword [rsp + 0x58]
sub rdx, rcx
sub rdx, rax
je 0x18000283d
mov r9, qword [r8 + 0x60]
xor edi, edi
mov rbp, rdx
movzx ecx, word [r9 + rdi*2]
test ecx, ecx
sete al
movsx ebx, byte [r14 + rdi + 1]
lea r11d, [rcx - 0x41]
lea esi, [rcx + 0x20]
cmp r11w, 0x1a
cmovae esi, ecx
lea r11d, [rbx - 0x41]
lea ecx, [rbx + 0x20]
cmp r11b, 0x1a
cmovae ecx, ebx
sub esi, ecx
setne bl
mov ecx, eax
xor cl, bl
or al, bl
xor al, 1
or al, cl
xor al, 1
test cl, al
jne 0x180002835
xor cl, al
jne 0x180002835
movabs rax, 0xc4f094a75bc51aa9
add rbp, rax
movabs rcx, 0x611df9aadb2498d1
add rbp, rcx
sub rbp, rax
mov rax, rcx
not rax
add rbp, rax
add rdi, 1
cmp rdx, rdi
jne 0x1800027be
jmp 0x18000283d
test esi, esi
jne 0x180002754
mov r11, qword [r8 + 0x30]
movsxd rax, dword [r11 + 0x3c]
cmp dword [r11 + rax + 0x8c], 0
je 0x1800029bc
mov eax, dword [r11 + rax + 0x88]
cmp dword [r11 + rax + 0x14], 0
je 0x1800029bc
mov ecx, dword [r11 + rax + 0x18]
mov dword [rsp + 0x30], ecx
test ecx, ecx
je 0x1800029bc
mov ecx, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea edx, [rcx - 1]
imul edx, ecx
mov r12d, edx
not r12d
and edx, 0xa2f3bb94
mov ecx, r12d
and ecx, 0x5d0c446b
or ecx, edx
xor ecx, 0x5d0c446a
and r12d, 0xfffffffe
or r12d, ecx
cmp r12d, 0xffffffff
not r12d
setne r8b
sete bl
cmp ebp, 0xa
setl cl
mov dword [rsp + 0x38], ebp
cmp ebp, 9
setg dl
and bl, dl
and cl, r8b
or cl, bl
mov ebx, edx
and bl, r8b
xor dl, r8b
or dl, bl
xor cl, 1
mov ebx, ecx
xor bl, dl
or cl, dl
xor cl, 1
or cl, bl
test cl, 1
je 0x1800028ec
mov ecx, dword [r11 + rax + 0x1c]
mov ebp, dword [r11 + rax + 0x20]
add rcx, r11
mov qword [rsp + 0x60], rcx
mov ebx, dword [r11 + rax + 0x24]
add rbx, r11
add rbp, r11
mov eax, dword [0x180023490]
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
setne cl
cmp dword [0x180023494], 9
setg al
mov edx, eax
or dl, cl
xor al, cl
mov ecx, edx
xor cl, al
xor al, 1
xor cl, 1
or al, dl
xor al, 1
or al, cl
xor edi, edi
mov esi, dword [rbp]
add rsi, r11
mov rdx, qword [rsp + 0x80]
test al, al
je 0x18000295e
movzx ecx, byte [rdx]
movzx r8d, byte [rsi]
cmp cl, r8b
sete r15b
setne r9b
test cl, cl
setne r13b
sete r10b
and r9b, r10b
and r13b, r15b
or r13b, r9b
xor r10b, r13b
cmp r10b, 1
jne 0x18000299d
add rsi, 1
add rdx, 1
test r13b, r13b
jne 0x18000295e
cmp cl, r8b
je 0x180002a44
add rbx, 2
add rbp, 4
add edi, 1
cmp edi, dword [rsp + 0x30]
jne 0x180002950
jmp 0x180002a3f
mov eax, dword [0x180023488]
mov edx, dword [0x18002348c]
lea r12d, [rax - 1]
imul r12d, eax
mov eax, r12d
not eax
mov ecx, eax
and ecx, 0x533134fb
and r12d, 0xaccecb04
or r12d, ecx
xor r12d, 0x533134fa
or r12d, eax
cmp r12d, 0xffffffff
not r12d
setne r8b
sete bl
cmp edx, 0xa
setl al
mov dword [rsp + 0x38], edx
cmp edx, 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
mov edx, eax
xor dl, 1
cmp cl, dl
jne 0x180002a3f
xor cl, 1
or cl, al
xor cl, 1
mov r11d, 0
jne 0x180002a52
jmp 0x180003efe
xor r11d, r11d
jmp 0x180002a52
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax*4]
add r11, rax
test r12d, r12d
setne dl
sete al
mov ecx, dword [rsp + 0x38]
cmp ecx, 0xa
setl r8b
cmp ecx, 9
setg bl
mov ecx, edx
xor dl, bl
and bl, al
and cl, r8b
or cl, bl
or al, r8b
xor al, 1
or al, dl
mov edx, eax
xor dl, 1
cmp cl, dl
jne 0x180002a95
xor cl, 1
or cl, al
xor cl, 1
je 0x180003ef8
mov rcx, qword [rsp + 0x28]
call r11
mov qword [rsp + 0x30], rax
mov r12d, dword [0x180023468]
mov r13d, dword [0x18002346c]
lea eax, [r12 - 1]
imul eax, r12d
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 r13d, 0xa
setl al
xor cl, al
mov edx, ecx
not dl
and dl, al
test dl, cl
jne 0x180002f5f
xor dl, cl
jne 0x180002f5f
mov r15, qword gs:[0x60]
mov eax, dword [0x180023478]
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
sete bl
cmp dword [0x18002347c], 0xa
setl cl
xor bl, cl
mov eax, ebx
not al
and al, cl
mov ecx, dword [0x180023470]
mov edx, dword [0x180023474]
lea esi, [rcx - 1]
imul esi, ecx
mov edi, esi
not edi
and esi, 0x839f0e6b
mov ecx, edi
and ecx, 0x7c60f194
or ecx, esi
xor ecx, 0x7c60f195
and edi, 0xfffffffe
or edi, ecx
cmp edi, 0xffffffff
setne r8b
cmp edx, 9
setg r9b
cmp edx, 0xa
setl cl
mov edx, dword [0x180023480]
mov edi, dword [0x180023484]
lea esi, [rdx - 1]
imul esi, edx
mov edx, esi
not edx
mov ebp, edx
and ebp, 0xfffffffe
and esi, 1
or esi, ebp
not esi
or esi, edx
cmp esi, 0xffffffff
sete dl
setne r11b
cmp edi, 9
setg sil
cmp edi, 0xa
setl r10b
test al, bl
jne 0x180002bbc
xor al, bl
je 0x180003efa
xor cl, r8b
xor cl, 1
mov eax, r9d
and al, r8b
xor r9b, r8b
or r9b, al
xor r9b, 1
mov eax, ecx
and al, r9b
xor r9b, cl
or r9b, al
mov eax, r10d
xor al, r11b
and al, r10b
and dl, sil
and r10b, r11b
or r10b, dl
mov ecx, eax
and cl, r10b
xor r10b, al
or r10b, cl
mov r8, qword [r15 + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180002c08
test r9b, r9b
je 0x180003ef2
test r10b, r10b
je 0x180003ef4
movabs rcx, 0x89b92e321252e3bb
sub rax, rcx
movabs rdx, 0x803bc1e08dc82493
sub rax, rdx
add rax, rcx
movabs rcx, 0xb4eee11371d43e53
sub rax, rcx
sub rax, qword [rsp + 0x58]
add rax, rcx
add rax, rdx
je 0x180002d1f
mov r11, qword [r8 + 0x60]
xor r15d, r15d
mov rbx, rax
movzx edx, word [r11 + r15*2]
test edx, edx
sete sil
setne cl
movsx r13d, byte [r14 + r15 + 1]
lea r12d, [rdx - 0x41]
lea ebp, [rdx + 0x20]
cmp r12w, 0x1a
cmovae ebp, edx
lea r12d, [r13 - 0x41]
lea edi, [r13 + 0x20]
cmp r12b, 0x1a
cmovae edi, r13d
sub ebp, edi
setne dil
or edx, ebp
sete dl
and cl, dil
or cl, dl
mov edx, esi
xor dl, dil
or sil, dil
xor sil, 1
or sil, dl
mov edx, esi
xor dl, 1
cmp cl, dl
jne 0x180002d17
xor cl, 1
or cl, sil
xor cl, 1
jne 0x180002d17
movabs rcx, 0x1d1e30e6ef3aea47
mov rdx, rcx
add rbx, rcx
movabs rcx, 0xfd13df65f121d10d
sub rbx, rcx
sub rbx, rdx
movabs rdx, 0x6c0036cd57d5c724
add rbx, rdx
add rbx, rcx
mov rcx, rdx
not rcx
add rbx, rcx
add r15, 1
cmp rax, r15
jne 0x180002c69
jmp 0x180002d1f
test ebp, ebp
jne 0x180002c02
mov r11, qword [r8 + 0x30]
movsxd rax, dword [r11 + 0x3c]
cmp dword [r11 + rax + 0x8c], 0
je 0x180002eaa
mov edi, dword [r11 + rax + 0x88]
cmp dword [r11 + rdi + 0x14], 0
je 0x180002eaa
mov r10d, dword [r11 + rdi + 0x18]
test r10d, r10d
je 0x180002eaa
mov ecx, dword [0x180023488]
mov eax, dword [0x18002348c]
lea r12d, [rcx - 1]
imul r12d, ecx
mov ecx, r12d
not ecx
and ecx, 0xd022f3ba
and r12d, 0x2fdd0c45
or r12d, ecx
mov ecx, r12d
xor ecx, 0x2fdd0c44
and ecx, 0xfffffffe
xor r12d, 0xd022f3bb
or r12d, ecx
mov ecx, r12d
not ecx
and ecx, 0x186dd439
and r12d, 0xe7922bc6
or r12d, ecx
xor r12d, 0xe7922bc6
setne dl
cmp eax, 9
setg cl
mov dword [rsp + 0x30], eax
cmp eax, 0xa
setl bl
xor bl, dl
mov eax, ecx
and al, dl
xor cl, dl
or cl, al
mov eax, ebx
xor al, cl
or cl, bl
xor cl, 1
or cl, al
test cl, cl
je 0x180002ddb
mov eax, dword [r11 + rdi + 0x1c]
mov ebp, dword [r11 + rdi + 0x20]
add rax, r11
mov qword [rsp + 0x38], rax
mov r13d, dword [r11 + rdi + 0x24]
add r13, r11
add rbp, r11
mov eax, dword [0x180023490]
mov ecx, dword [0x180023494]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xfffffffe
and edx, 1
or edx, ebx
not edx
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
xor edi, edi
mov esi, dword [rbp]
add rsi, r11
mov rdx, qword [rsp + 0x80]
test al, al
je 0x180002e5b
movzx r15d, byte [rdx]
movzx r8d, byte [rsi]
cmp r15b, r8b
setne cl
test r15b, r15b
sete bl
mov r9d, ebx
and r9b, cl
xor bl, cl
or bl, r9b
jne 0x180002e8f
xor bl, 1
add rsi, 1
add rdx, 1
test bl, bl
jne 0x180002e5b
cmp r15b, r8b
je 0x180002f1e
add r13, 2
add rbp, 4
add edi, 1
cmp edi, r10d
jne 0x180002e4d
jmp 0x180002f19
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov r12d, ecx
not r12d
and ecx, 0xff0632e1
mov eax, r12d
and eax, 0xf9cd1e
or eax, ecx
xor eax, 0xf9cd1f
and r12d, 0xfffffffe
or r12d, eax
cmp r12d, 0xffffffff
not r12d
sete dl
setne bl
cmp ebp, 0xa
setl al
mov dword [rsp + 0x30], ebp
cmp ebp, 9
setg cl
and dl, cl
or cl, bl
xor cl, 1
and al, bl
or al, dl
test cl, al
jne 0x180002f19
xor cl, al
mov r11d, 0
jne 0x180002f2e
jmp 0x180003f00
xor r11d, r11d
jmp 0x180002f2e
movzx eax, word [r13]
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
add r11, rax
test r12d, r12d
setne al
cmp dword [rsp + 0x30], 9
setg dl
mov ecx, eax
xor cl, dl
and al, dl
or al, cl
xor cl, 1
cmp cl, al
jne 0x1800025f1
or cl, al
xor cl, 1
jne 0x1800025f1
jmp 0x180003efc
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x20]
add rdx, rax
mov qword [rsp + 0x38], rdx
add rcx, rax
mov qword [rsp + 0x78], rcx
lea eax, [r12 - 1]
imul eax, r12d
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
setne al
cmp r13d, 9
setg dl
cmp r13d, 0xa
setl cl
xor cl, al
mov ebx, edx
and bl, al
xor dl, al
or dl, bl
mov eax, ecx
xor al, dl
or dl, cl
xor dl, 1
or dl, al
test dl, dl
je 0x180002fc2
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
test rdx, rdx
je 0x180003e73
mov rax, rdx
not rax
mov rcx, rax
and rcx, 0xffffffffffff0000
movzx ebp, dx
or rbp, rcx
xor rax, rbp
and rax, rbp
mov rcx, qword [rsp + 0x90]
add rcx, rdx
test rdx, rdx
cmovs rcx, rax
mov qword [rsp + 0x60], rcx
mov rbp, qword gs:[0x60]
mov ecx, dword [0x180023478]
mov edi, dword [0x18002347c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and edx, 0x98bbf447
mov ebx, ecx
and ebx, 0x67440bb8
or ebx, edx
xor ebx, 0x67440bb9
and ecx, 0xfffffffe
or ecx, ebx
mov edx, ecx
not edx
and edx, 0x49f27528
and ecx, 0xb60d8ad7
or ecx, edx
xor ecx, 0xb60d8ad7
sete r8b
setne al
cmp edi, 9
setg cl
cmp edi, 0xa
setl dl
mov ebx, edx
xor bl, al
and bl, dl
and cl, r8b
and dl, al
or dl, cl
mov eax, dword [0x180023470]
lea edi, [rax - 1]
imul edi, eax
mov ecx, edi
not ecx
and edi, 0x220e564c
mov eax, ecx
and eax, 0xddf1a9b3
or eax, edi
xor eax, 0xddf1a9b2
and ecx, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
sete r9b
cmp dword [0x180023474], 0xa
setl r8b
mov eax, dword [0x180023480]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edi, eax
and edi, 0x85b571bd
and ecx, 0x7a4a8e42
or ecx, edi
xor ecx, 0x85b571bc
or ecx, eax
cmp ecx, 0xffffffff
sete cl
cmp dword [0x180023484], 0xa
setl r11b
cmp bl, dl
jne 0x180003105
xor bl, 1
xor dl, 1
or dl, bl
xor dl, 1
je 0x180003f1a
xor r9b, r8b
mov r10d, r9d
not r10b
and r10b, r8b
mov eax, r10d
and al, r9b
xor r10b, r9b
or r10b, al
xor cl, r11b
xor cl, 1
and r11b, cl
xor r11b, 1
mov eax, r11d
xor al, cl
or r11b, cl
xor r11b, 1
or r11b, al
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rbp, r14
cmp byte [rbp + 1], 0
lea rbp, [rbp + 1]
jne 0x180003147
test r10b, r10b
je 0x180003f10
test r11b, r11b
je 0x180003f12
movabs rax, 0xb3a14032b0be672e
sub rbp, rax
movabs rcx, 0x24d8518122f9e038
sub rbp, rcx
add rbp, rax
sub rbp, qword [rsp + 0x58]
add rbp, rcx
je 0x180003202
mov r9, qword [r8 + 0x60]
xor edi, edi
mov rcx, rbp
movzx eax, word [r9 + rdi*2]
test eax, eax
sete dl
lea ebx, [rax - 0x41]
lea esi, [rax + 0x20]
cmp bx, 0x1a
cmovae esi, eax
movsx eax, byte [r14 + rdi + 1]
lea r15d, [rax - 0x41]
lea ebx, [rax + 0x20]
cmp r15b, 0x1a
cmovae ebx, eax
sub esi, ebx
setne bl
xor bl, dl
mov eax, ebx
xor al, 1
and dl, al
cmp dl, bl
jne 0x1800031fa
xor dl, 1
or dl, al
xor dl, 1
jne 0x1800031fa
movabs rdx, 0xb298c7423aad75d3
mov rax, rdx
not rax
add rcx, rax
add rcx, rdx
add rdi, 1
cmp rbp, rdi
jne 0x180003193
jmp 0x180003202
test esi, esi
jne 0x180003141
mov r12, qword [r8 + 0x30]
movsxd rax, dword [r12 + 0x3c]
cmp dword [r12 + rax + 0x8c], 0
je 0x180003364
mov edx, dword [r12 + rax + 0x88]
cmp dword [r12 + rdx + 0x14], 0
je 0x180003364
mov r10d, dword [r12 + rdx + 0x18]
test r10d, r10d
je 0x180003364
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea r11d, [rax - 1]
imul r11d, eax
mov eax, r11d
not eax
and eax, 0xfffffffe
xor r11d, 1
or r11d, eax
cmp r11d, 0xffffffff
not r11d
sete cl
mov dword [rsp + 0x28], ebp
cmp ebp, 0xa
setl al
mov ebx, eax
xor bl, cl
or al, cl
xor al, 1
or al, bl
xor al, 1
mov ecx, ebx
and cl, al
xor al, bl
or al, cl
test al, 1
je 0x180003287
mov eax, dword [r12 + rdx + 0x1c]
mov ebp, dword [r12 + rdx + 0x20]
add rax, r12
mov qword [rsp + 0x50], rax
mov r13d, dword [r12 + rdx + 0x24]
add r13, r12
add rbp, r12
mov eax, dword [0x180023490]
mov ecx, dword [0x180023494]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0xf17a3d8d
and edx, 0xe85c272
or edx, eax
mov eax, edx
xor eax, 0xe85c272
and eax, 0xfffffffe
xor edx, 0xf17a3d8c
or edx, eax
cmp edx, 0xffffffff
sete al
setne dl
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl cl
and cl, dl
and al, bl
or al, cl
mov ecx, ebx
and cl, dl
xor bl, dl
or bl, cl
xor bl, 1
mov ecx, eax
and cl, bl
xor bl, al
or bl, cl
xor edi, edi
mov esi, dword [rbp]
add rsi, r12
mov rcx, qword [rsp + 0x70]
test bl, bl
je 0x180003318
movzx r15d, byte [rcx]
movzx r8d, byte [rsi]
cmp r15b, r8b
sete dl
test r15b, r15b
setne al
mov r9d, eax
xor r9b, dl
or al, dl
xor al, 1
or al, r9b
jne 0x18000334d
xor al, 1
add rsi, 1
add rcx, 1
test al, al
jne 0x180003318
cmp r15b, r8b
je 0x1800033bb
add r13, 2
add rbp, 4
add edi, 1
cmp edi, r10d
jne 0x18000330d
jmp 0x1800033b6
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov r11d, ecx
not r11d
mov eax, r11d
and eax, 0xfffffffe
and ecx, 1
or ecx, eax
xor r11d, ecx
and r11d, ecx
setne dl
mov dword [rsp + 0x28], ebp
cmp ebp, 9
setg al
mov ecx, eax
or cl, dl
xor cl, 1
xor al, dl
test cl, al
jne 0x1800033b6
xor cl, al
mov r12d, 0
jne 0x1800033cb
jmp 0x180003f1e
xor r12d, r12d
jmp 0x1800033cb
movzx eax, word [r13]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
add r12, rax
test r11d, r11d
sete dl
setne bl
mov ecx, dword [rsp + 0x28]
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
or cl, bl
xor cl, 1
xor al, dl
test cl, al
jne 0x1800033f7
xor cl, al
je 0x180003f1c
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
call r12
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov r12d, dword [0x180023468]
mov r13d, dword [0x18002346c]
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
and ecx, 0x561cf29c
and eax, 0xa9e30d63
or eax, ecx
mov ecx, eax
xor ecx, 0xa9e30d63
xor eax, 0x60c8098
and eax, 0xfed8898
mov edx, ecx
and edx, 0xf0127767
or edx, eax
xor edx, 0xf0127766
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
setne al
sete dl
cmp r13d, 9
setg cl
xor dl, cl
xor dl, 1
mov ebx, ecx
and bl, al
xor cl, al
or cl, bl
xor cl, 1
test dl, cl
jne 0x180003e62
xor dl, cl
jne 0x180003e62
mov r15, qword gs:[0x60]
mov eax, dword [0x180023478]
mov ecx, dword [0x18002347c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xdd35fa3a
and edx, 0x22ca05c5
or edx, ebx
xor edx, 0xdd35fa3b
or edx, eax
cmp edx, 0xffffffff
sete al
setne bl
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg r9b
xor r9b, bl
or dl, al
xor dl, 1
or dl, r9b
mov r8d, edx
xor r8b, 1
mov ecx, dword [0x180023470]
mov eax, dword [0x180023474]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, ebx
not ecx
and ecx, 0x138789b6
and ebx, 0xec787649
or ebx, ecx
mov edi, ebx
xor edi, 0xec787649
xor ebx, 0x10820032
and ebx, 0x7c824632
mov ecx, edi
and ecx, 0x837db9cd
or ecx, ebx
xor ecx, 0x837db9cc
and edi, 0xfffffffe
or edi, ecx
cmp edi, 0xffffffff
sete r11b
setne sil
cmp eax, 9
setg bl
cmp eax, 0xa
setl r13b
mov eax, dword [0x180023480]
mov ebp, dword [0x180023484]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
mov edi, eax
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
xor eax, ecx
test eax, ecx
setne dil
sete r12b
cmp ebp, 0xa
setl cl
cmp ebp, 9
setg r10b
cmp r9b, r8b
jne 0x18000359e
xor r9b, 1
or r9b, dl
xor r9b, 1
je 0x180003f0a
and sil, r13b
and bl, r11b
or bl, sil
mov eax, r13d
xor al, r11b
or r13b, r11b
xor r13b, 1
or r13b, al
xor r13b, 1
mov eax, ebx
and al, r13b
xor r13b, bl
or r13b, al
and r12b, r10b
and cl, dil
or cl, r12b
mov eax, r10d
and al, dil
xor r10b, dil
or r10b, al
xor r10b, 1
mov eax, ecx
and al, r10b
xor r10b, cl
or r10b, al
mov r8, qword [r15 + 0x18]
add r8, 0x10
mov r8, qword [r8]
mov rdx, r14
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x1800035f8
test r13b, 1
je 0x180003f02
test r10b, r10b
je 0x180003f04
movabs rax, 0xbacc3500c7a448f3
add rdx, rax
movabs rcx, 0x80c6f26d11de1d75
add rdx, rcx
sub rdx, rax
movabs rax, 0x7e44448ef626fd18
add rdx, rax
sub rdx, qword [rsp + 0x58]
sub rdx, rax
movabs rax, 0xb2f56f82204c0f49
add rdx, rax
sub rdx, rcx
sub rdx, rax
je 0x1800036ee
mov r9, qword [r8 + 0x60]
xor edi, edi
mov rbp, rdx
movzx eax, word [r9 + rdi*2]
test eax, eax
setne cl
movsx ebx, byte [r14 + rdi + 1]
lea r11d, [rax - 0x41]
lea esi, [rax + 0x20]
cmp r11w, 0x1a
cmovae esi, eax
lea r11d, [rbx - 0x41]
lea eax, [rbx + 0x20]
cmp r11b, 0x1a
cmovae eax, ebx
sub esi, eax
sete r11b
setne al
xor al, cl
mov ebx, ecx
xor bl, r11b
and cl, r11b
or cl, bl
cmp al, cl
jne 0x1800036e6
or al, cl
xor al, 1
jne 0x1800036e6
movabs rax, 0xc8d5c8f9fc8be575
sub rbp, rax
movabs rcx, 0x24c51f0f77eea509
add rbp, rcx
add rbp, rax
mov rax, rcx
not rax
add rbp, rax
add rdi, 1
cmp rdx, rdi
jne 0x180003669
jmp 0x1800036ee
test esi, esi
jne 0x1800035f2
mov r12, qword [r8 + 0x30]
movsxd rax, dword [r12 + 0x3c]
cmp dword [r12 + rax + 0x8c], 0
je 0x18000388e
mov edx, dword [r12 + rax + 0x88]
cmp dword [r12 + rdx + 0x14], 0
je 0x18000388e
mov r10d, dword [r12 + rdx + 0x18]
test r10d, r10d
je 0x18000388e
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea r11d, [rax - 1]
imul r11d, eax
mov eax, r11d
not eax
mov ecx, eax
and ecx, 0xfffffffe
and r11d, 1
or r11d, ecx
not r11d
or r11d, eax
cmp r11d, 0xffffffff
not r11d
sete r8b
setne sil
cmp ebp, 9
setg cl
mov dword [rsp + 0x28], ebp
cmp ebp, 0xa
setl bl
mov eax, ecx
xor cl, sil
and sil, bl
and al, r8b
or al, sil
or bl, r8b
xor bl, 1
or bl, cl
mov ecx, ebx
xor cl, al
xor al, 1
xor cl, 1
or al, bl
xor al, 1
or al, cl
test al, 1
je 0x180003797
mov eax, dword [r12 + rdx + 0x1c]
mov r13d, dword [r12 + rdx + 0x20]
add rax, r12
mov qword [rsp + 0x50], rax
mov r15d, dword [r12 + rdx + 0x24]
add r15, r12
add r13, r12
mov edx, dword [0x180023490]
mov esi, dword [0x180023494]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, ebx
not edx
and ebx, 0x8624d892
mov edi, edx
and edi, 0x79db276d
or edi, ebx
xor edi, 0x79db276c
and edx, 0xfffffffe
or edx, edi
mov ebx, edx
not ebx
and ebx, 0x607b819a
and edx, 0x9f847e65
or edx, ebx
xor edx, 0x9f847e65
sete dl
setne r8b
cmp esi, 9
setg bl
cmp esi, 0xa
setl cl
and cl, r8b
and dl, bl
or dl, cl
mov ecx, ebx
and cl, r8b
xor bl, r8b
or bl, cl
xor bl, 1
mov ecx, edx
and cl, bl
xor bl, dl
or bl, cl
xor ebp, ebp
mov esi, dword [r13]
add rsi, r12
mov rdi, qword [rsp + 0x70]
test bl, bl
je 0x18000383e
movzx edx, byte [rdi]
movzx r8d, byte [rsi]
cmp dl, r8b
sete al
setne cl
test dl, dl
setne r9b
xor cl, r9b
xor cl, 1
or al, r9b
xor al, 1
or al, cl
jne 0x180003877
add rsi, 1
add rdi, 1
mov al, 1
test al, al
je 0x180003877
jne 0x18000383e
cmp dl, r8b
je 0x1800038f4
add r15, 2
add r13, 4
add ebp, 1
cmp ebp, r10d
jne 0x180003832
jmp 0x1800038ef
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov r11d, ecx
not r11d
mov eax, r11d
and eax, 0x26c12b9a
and ecx, 0xd93ed465
or ecx, eax
xor ecx, 0xd93ed464
xor r11d, ecx
and r11d, ecx
sete dl
mov dword [rsp + 0x28], ebp
cmp ebp, 0xa
setl al
xor dl, al
mov ecx, edx
xor cl, 1
and al, cl
cmp al, dl
jne 0x1800038ef
xor al, 1
or al, cl
xor al, 1
mov r12d, 0
jne 0x180003903
jmp 0x180003f16
xor r12d, r12d
jmp 0x180003903
movzx eax, word [r15]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
add r12, rax
test r11d, r11d
sete dl
setne bl
mov eax, dword [rsp + 0x28]
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
or al, bl
mov ebx, eax
xor bl, 1
xor cl, dl
cmp bl, cl
jne 0x180003936
xor cl, 1
or al, cl
xor al, 1
je 0x180003f0c
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
call r12
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov rbp, qword gs:[0x60]
mov eax, dword [0x180023478]
mov ecx, dword [0x18002347c]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov ebx, eax
and ebx, 0xfffffffe
and edx, 1
or edx, ebx
not edx
or edx, eax
cmp edx, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg r8b
xor r8b, dl
mov ecx, ebx
xor cl, al
or bl, al
xor bl, 1
or bl, cl
xor bl, 1
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, 0xa4b11d12
and edx, 0x5b4ee2ed
or edx, eax
xor edx, 0x5b4ee2ed
sete r11b
setne r10b
cmp ecx, 9
setg sil
cmp ecx, 0xa
setl r9b
mov eax, dword [0x180023480]
mov ecx, dword [0x180023484]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
mov edi, eax
and edi, 0xfffffffe
and edx, 1
or edx, edi
not edx
or edx, eax
cmp edx, 0xffffffff
setne al
sete dil
cmp ecx, 0xa
setl r12b
cmp ecx, 9
setg dl
test r8b, bl
jne 0x180003a33
xor r8b, bl
je 0x180003f0e
mov ecx, r9d
xor cl, r10b
and cl, r9b
and r11b, sil
and r9b, r10b
or r9b, r11b
mov ebx, ecx
xor bl, 1
xor cl, r9b
xor r9b, 1
or r9b, bl
xor r9b, 1
or r9b, cl
and dl, dil
and al, r12b
or al, dl
mov ecx, r12d
xor cl, dil
or r12b, dil
xor r12b, 1
or r12b, cl
xor r12b, 1
mov ecx, eax
and cl, r12b
xor r12b, al
or r12b, cl
mov rax, qword [rbp + 0x18]
add rax, 0x10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180003a9f
test r9b, 1
je 0x180003f06
test r12b, 1
je 0x180003f08
movabs rdx, 0xf468b41d3bd1e46
mov rcx, rdx
sub rcx, qword [rsp + 0x58]
sub rcx, rdx
add rax, rcx
je 0x180003b8a
mov rcx, qword [rsp + 0x28]
mov r10, qword [rcx + 0x60]
xor r8d, r8d
mov rbp, rax
movzx esi, word [r10 + r8*2]
test esi, esi
setne r11b
sete r15b
lea ecx, [rsi - 0x41]
lea edi, [rsi + 0x20]
cmp cx, 0x1a
cmovae edi, esi
movsx ecx, byte [r14 + r8 + 1]
lea r13d, [rcx - 0x41]
lea ebx, [rcx + 0x20]
cmp r13b, 0x1a
cmovae ebx, ecx
sub edi, ebx
setne dl
sete cl
xor cl, r15b
and cl, r15b
and dl, r11b
or esi, edi
sete bl
or bl, dl
test cl, bl
jne 0x180003b82
xor cl, bl
jne 0x180003b82
movabs rcx, 0x9503ef2de70695ed
mov rdx, rcx
sub rbp, rcx
movabs rcx, 0xc88fc586fb47bf72
sub rbp, rcx
add rbp, rdx
movabs rdx, 0xc06491754a2889aa
add rbp, rdx
add rbp, rcx
mov rcx, rdx
not rcx
add rbp, rcx
add r8, 1
cmp rax, r8
jne 0x180003aea
jmp 0x180003b8a
test edi, edi
jne 0x180003a8f
mov rax, qword [rsp + 0x28]
mov r12, qword [rax + 0x30]
movsxd rax, dword [r12 + 0x3c]
cmp dword [r12 + rax + 0x8c], 0
je 0x180003d3b
mov edx, dword [r12 + rax + 0x88]
cmp dword [r12 + rdx + 0x14], 0
je 0x180003d3b
mov eax, dword [r12 + rdx + 0x18]
mov dword [rsp + 0x28], eax
test eax, eax
je 0x180003d3b
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0x6a9094df
and ecx, 0x956f6b20
or ecx, eax
mov r11d, ecx
xor r11d, 0x956f6b20
xor ecx, 0x2101400
and ecx, 0x935e7c20
mov eax, r11d
and eax, 0x6ca183df
or eax, ecx
xor eax, 0x6ca183de
and r11d, 0xfffffffe
or r11d, eax
cmp r11d, 0xffffffff
not r11d
sete cl
mov dword [rsp + 0x50], ebp
cmp ebp, 0xa
setl bl
xor cl, bl
mov eax, ecx
not al
and al, bl
mov ebx, eax
and bl, cl
xor al, cl
or al, bl
test al, al
je 0x180003c3f
mov eax, dword [r12 + rdx + 0x1c]
mov ebp, dword [r12 + rdx + 0x20]
add rax, r12
mov qword [rsp + 0x88], rax
mov r13d, dword [r12 + rdx + 0x24]
add r13, r12
add rbp, r12
mov eax, dword [0x180023490]
mov edi, dword [0x180023494]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
not eax
and edx, 0x6675c195
mov ebx, eax
and ebx, 0x998a3e6a
or ebx, edx
xor ebx, 0x998a3e6b
and eax, 0xfffffffe
or eax, ebx
mov edx, eax
not edx
and edx, 0x37999bef
and eax, 0xc8666410
or eax, edx
xor eax, 0xc8666410
setne al
sete dl
cmp edi, 0xa
setl cl
cmp edi, 9
setg bl
and dl, bl
and cl, al
or cl, dl
mov edx, ebx
and dl, al
xor bl, al
or bl, dl
xor bl, 1
mov eax, ecx
and al, bl
xor bl, cl
or bl, al
xor edi, edi
mov esi, dword [rbp]
add rsi, r12
mov rcx, qword [rsp + 0x70]
test bl, bl
je 0x180003ce2
movzx edx, byte [rcx]
movzx r8d, byte [rsi]
cmp dl, r8b
sete r15b
setne r9b
test dl, dl
setne al
sete r10b
and r9b, r10b
and al, r15b
or al, r9b
xor r10b, al
cmp r10b, 1
jne 0x180003d1f
add rsi, 1
add rcx, 1
test al, al
jne 0x180003ce2
cmp dl, r8b
je 0x180003dbb
add r13, 2
add rbp, 4
add edi, 1
cmp edi, dword [rsp + 0x28]
jne 0x180003cd7
jmp 0x180003db6
mov eax, dword [0x180023488]
mov ebp, dword [0x18002348c]
lea ecx, [rax - 1]
imul ecx, eax
mov r11d, ecx
not r11d
mov eax, r11d
and eax, 0xa316e58f
and ecx, 0x5ce91a70
or ecx, eax
xor ecx, 0x5ce91a71
xor r11d, ecx
and r11d, ecx
sete r8b
setne bl
cmp ebp, 9
setg dl
mov dword [rsp + 0x50], ebp
cmp ebp, 0xa
setl al
mov ecx, edx
xor dl, bl
and bl, al
and cl, r8b
or cl, bl
or al, r8b
xor al, 1
or al, dl
mov edx, eax
xor dl, 1
cmp cl, dl
jne 0x180003db6
xor cl, 1
or cl, al
xor cl, 1
mov r12d, 0
jne 0x180003dce
jmp 0x180003f18
xor r12d, r12d
jmp 0x180003dce
movzx eax, word [r13]
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax*4]
add r12, rax
test r11d, r11d
setne al
cmp dword [rsp + 0x50], 9
setg dl
mov ecx, eax
and cl, dl
xor al, dl
or cl, al
xor cl, 1
test al, cl
jne 0x180003df3
xor al, cl
je 0x180003f14
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
call r12
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 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
xor eax, edx
test eax, edx
sete al
setne dl
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
and al, cl
or cl, dl
xor cl, 1
and bl, dl
or bl, al
mov eax, ecx
xor al, bl
test cl, bl
jne 0x18000300a
test al, al
je 0x18000348b
jmp 0x18000300a
add qword [rsp + 0x78], 8
add qword [rsp + 0x38], 8
jmp 0x180002f7e
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x20]
add rax, 0x14
mov qword [rsp + 0x68], rax
test edx, edx
jne 0x1800025e3
lea eax, [r12 - 1]
imul eax, r12d
mov ecx, eax
not ecx
and ecx, 0x149010fa
and eax, 0xeb6fef05
or eax, ecx
mov ecx, eax
xor ecx, 0xeb6fef04
and ecx, 0xfffffffe
xor eax, 0x149010fb
or eax, ecx
cmp eax, 0xffffffff
sete dl
setne r8b
cmp r13d, 0xa
setl cl
cmp r13d, 9
setg al
and dl, al
or al, r8b
mov ebx, eax
xor bl, 1
and cl, r8b
or cl, dl
cmp bl, cl
jne 0x180003f20
xor cl, 1
or al, cl
xor al, 1
jne 0x180003f20
jmp 0x180003eec
jmp 0x180003eee
jmp 0x180003ef0
jmp 0x180003ef2
jmp 0x180003ef4
jmp 0x180003ef6
jmp 0x180003ef8
jmp 0x180003efa
jmp 0x180003efc
jmp 0x180003efe
jmp 0x180003f00
jmp 0x180003f02
jmp 0x180003f04
jmp 0x180003f06
jmp 0x180003f08
jmp 0x180003f0a
jmp 0x180003f0c
jmp 0x180003f0e
jmp 0x180003f10
jmp 0x180003f12
jmp 0x180003f14
jmp 0x180003f16
jmp 0x180003f18
jmp 0x180003f1a
jmp 0x180003f1c
jmp 0x180003f1e
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
add rax, qword [rsp + 0x20]
call rax
mov ecx, dword [0x180023468]
mov eax, dword [0x18002346c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and edx, 0xa958d065
mov ebp, ecx
and ebp, 0x56a72f9a
or ebp, edx
xor ebp, 0x56a72f9b
and ecx, 0xfffffffe
or ecx, ebp
mov edx, ecx
not edx
and edx, 0x9a69740
and ecx, 0xf65968bf
or ecx, edx
xor ecx, 0xf65968bf
sete dl
setne bl
cmp eax, 9
setg cl
cmp eax, 0xa
setl al
and bl, al
and cl, dl
or cl, bl
mov ebx, eax
xor bl, dl
or al, dl
xor al, 1
or al, bl
xor al, 1
test cl, al
jne 0x180004010
xor cl, al
jne 0x180004010
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdi, rcx
add rax, rcx
call rax
mov eax, dword [rsi + 0x28]
add rax, rdi
call rax
mov eax, dword [0x180023468]
mov ecx, dword [0x18002346c]
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 dl
setne bl
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
and bl, cl
and al, dl
or al, bl
mov ebx, ecx
xor bl, dl
or cl, dl
xor cl, 1
or cl, bl
xor cl, 1
test al, cl
jne 0x180004010
xor al, cl
je 0x180003fa9
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret