Function at 0x140036b90
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov r11, qword [rdx]
mov rdi, qword [r8]
mov r15d, 0xfffffffe
xor edx, edx
mov rsi, r9
mov dword [rbp - 0x28], r15d
mov dword [rbp - 0x44], edx
mov dword [rbp - 0x60], edx
mov edx, dword [rcx]
xor ecx, ecx
mov eax, edx
mov r10d, edx
shr eax, 9
shr r10d, 0xb
mov dword [rsp + 0x7c], edx
and eax, 1
and r10d, 1
mov dword [rbp + 0x30], ecx
mov dword [rbp + 0x40], eax
xor eax, 1
mov dword [rbp - 0x10], ecx
mov dword [rbp + 0x50], eax
mov eax, edx
mov qword [rbp - 0x78], r11
and eax, 1
mov qword [rbp + 0x58], r11
mov qword [rbp + 0x70], r11
shl eax, 0x1c
mov r8d, ecx
mov dword [rbp - 0x80], ecx
mov dword [rbp + 0x20], ecx
mov r13d, ecx
mov qword [rbp - 0x68], rcx
mov dword [rbp - 0xc], eax
mov r12d, ecx
mov qword [rbp - 0x50], rcx
mov qword [rbp + 0x28], rcx
mov qword [rbp - 0x18], rcx
mov dword [rsp + 0x78], r10d
mov r14d, r15d
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x58], r15d
mov dword [rbp - 0x5c], r15d
mov qword [rsp + 0x70], rdi
movzx ebx, byte [rdi]
test ebx, ebx
jne 0x140036c70
test r13, r13
je 0x140036c70
mov qword [rsp + 0x70], r13
movzx ebx, byte [r13]
mov rdi, r13
mov qword [rbp - 0x68], rcx
mov r13, qword [rbp + 0x140]
mov r9, qword [rbp + 0x148]
movsxd rcx, dword [r13 + 0x60]
add rcx, 0xffffffffffffff9c
add rcx, qword [r13 + 0x20]
test r9, r9
je 0x140036d3a
cmp r11, rcx
ja 0x14003ae23
cmp r11, qword [rbp + 0x58]
mov edx, dword [r9]
mov eax, 0x7fffffeb
cmovb r11, qword [rbp + 0x58]
sub eax, edx
movsxd rcx, eax
mov rax, r11
mov qword [rbp - 0x78], r11
sub rax, qword [rbp + 0x58]
cmp rcx, rax
jl 0x14003ab1b
mov eax, r11d
sub eax, dword [rbp + 0x58]
add eax, edx
mov dword [r9], eax
test r12, r12
je 0x140036d28
mov rcx, qword [rbp + 0x70]
cmp r12, rcx
jbe 0x140036d30
mov r8, r11
mov rdx, r12
sub r8, r12
call fcn.1400325e8
mov rcx, qword [rbp + 0x70]
mov r11, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x78]
mov r8d, dword [rbp - 0x80]
mov r9, qword [rbp + 0x148]
mov edx, dword [rsp + 0x7c]
mov rax, rcx
sub rax, r12
mov qword [rbp - 0x50], rcx
mov r12, rcx
add r11, rax
mov qword [rbp - 0x78], r11
mov qword [rbp + 0x58], r11
jmp 0x140036d44
mov r11, qword [rbp + 0x70]
mov qword [rbp - 0x78], r11
mov edx, dword [rsp + 0x7c]
mov qword [rbp + 0x58], r11
jmp 0x140036d44
cmp qword [r13 + 0x48], rcx
ja 0x14003ae23
test r8d, r8d
je 0x140036df1
test ebx, ebx
je 0x140036df1
cmp ebx, 0x5c
jne 0x140036d77
cmp byte [rdi + 1], 0x45
jne 0x140036d77
mov r13, qword [rbp - 0x68]
xor ecx, ecx
inc rdi
mov r8d, ecx
mov dword [rbp - 0x80], ecx
inc rdi
jmp 0x140036c4e
mov r8, qword [rbp + 0x28]
test r8, r8
je 0x140036db3
test r9, r9
jne 0x140036dac
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub edi, ecx
sub edi, dword [r13 + 0x30]
mov eax, edi
mov byte [r8 + 5], dil
sar eax, 8
mov byte [r8 + 4], al
mov rdi, qword [rsp + 0x70]
xor r8d, r8d
mov qword [rbp + 0x28], r8
bt edx, 0xe
jae 0x140037100
mov word [r11], 0xff70
mov eax, edi
mov qword [rbp + 0x28], r11
sub eax, dword [r13 + 0x30]
sar eax, 8
mov byte [r11 + 2], al
sub dil, byte [r13 + 0x30]
mov word [r11 + 4], 0
mov byte [r11 + 3], dil
mov rdi, qword [rsp + 0x70]
add r11, 6
jmp 0x140037100
lea eax, [rbx - 0x2a]
cmp eax, 1
jbe 0x140036e61
cmp ebx, 0x3f
je 0x140036e61
cmp ebx, 0x7b
jne 0x140036e10
lea rcx, [rdi + 1]
call fcn.14003d030
test eax, eax
jne 0x140036e61
xor eax, eax
mov esi, eax
cmp qword [rbp + 0x28], rax
je 0x140036e66
mov ecx, dword [rbp + 0x30]
mov eax, ecx
dec ecx
mov dword [rbp + 0x30], ecx
test eax, eax
jg 0x140036e66
test r9, r9
jne 0x140036e58
mov r9, qword [rbp + 0x28]
movzx eax, byte [r9 + 3]
movzx ecx, byte [r9 + 2]
shl ecx, 8
or ecx, eax
sub edi, ecx
sub edi, dword [r13 + 0x30]
mov eax, edi
mov byte [r9 + 5], dil
sar eax, 8
mov byte [r9 + 4], al
mov rdi, qword [rsp + 0x70]
xor r9d, r9d
mov qword [rbp + 0x28], r9
jmp 0x140036e69
mov esi, 1
xor r9d, r9d
test dl, 8
je 0x140036f60
mov rax, qword [r13 + 0x18]
movsxd rcx, ebx
test byte [rcx + rax], 1
jne 0x140036ff1
cmp ebx, 0x23
jne 0x140036f60
inc rdi
mov qword [rsp + 0x70], rdi
movzx r8d, byte [rdi]
test r8b, r8b
je 0x140036f55
mov edx, dword [r13 + 0x8c]
test edx, edx
je 0x140036edd
mov r8, qword [r13 + 0x38]
cmp rdi, r8
jae 0x140036f13
lea r9, [r13 + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], r10d
call fcn.14004eca0
mov rdi, qword [rsp + 0x70]
test eax, eax
jne 0x140036fc4
mov r10d, dword [rsp + 0x78]
jmp 0x140036f13
movsxd rdx, dword [r13 + 0x90]
mov rcx, qword [r13 + 0x38]
sub rcx, rdx
cmp rdi, rcx
ja 0x140036f13
cmp r8b, byte [r13 + 0x94]
jne 0x140036f13
cmp edx, 1
je 0x140036fc4
movzx eax, byte [r13 + 0x95]
cmp byte [rdi + 1], al
je 0x140036fc4
inc rdi
mov qword [rsp + 0x70], rdi
test r10d, r10d
je 0x140036f41
movzx eax, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140036f41
nop dword [rax]
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140036f30
movzx r8d, byte [rdi]
test r8b, r8b
jne 0x140036ea1
mov edx, dword [rsp + 0x7c]
xor r9d, r9d
mov r11, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x80]
mov ebx, r9d
bt edx, 0xe
jae 0x140036f9b
test esi, esi
jne 0x140036f9b
mov word [r11], 0xff70
mov eax, edi
mov qword [rbp + 0x28], r11
sub eax, dword [r13 + 0x30]
sar eax, 8
mov byte [r11 + 2], al
sub dil, byte [r13 + 0x30]
mov word [r11 + 4], si
mov byte [r11 + 3], dil
mov rdi, qword [rsp + 0x70]
add r11, 6
mov qword [rbp - 0x78], r11
cmp ebx, 0x7c
ja case.0x140036fc2.12
lea r10, [0x140000000]
movsxd rax, ebx
movzx eax, byte [r10 + rax + 0x3ae80]
mov ecx, dword [r10 + rax*4 + 0x3ae4c]
add rcx, r10
jmp rcx
mov eax, dword [r13 + 0x90]
mov edx, dword [rsp + 0x7c]
dec eax
cdqe
add rdi, rax
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0
je 0x140036f52
mov r11, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x80]
mov r10d, dword [rsp + 0x78]
mov rsi, qword [rbp + 0x118]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
inc rdi
jmp 0x140036c4e
mov rsi, qword [rbp + 0x118]
mov r10d, dword [rsp + 0x78]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
mov r12d, ecx
mov qword [rbp - 0x50], rcx
test dl, 2
je 0x140037051
mov r9d, dword [rbp - 0x5c]
mov byte [r11], 0x1a
mov rdi, qword [rsp + 0x70]
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
cmove r9d, eax
inc r11
inc rdi
mov qword [rbp - 0x78], r11
mov dword [rbp - 0x5c], r9d
jmp 0x140036c4e
mov byte [r11], 0x19
mov rdi, qword [rsp + 0x70]
inc r11
inc rdi
mov qword [rbp - 0x78], r11
jmp 0x140036c4e
mov r10d, dword [rsp + 0x78]
mov rsi, qword [rbp + 0x118]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
test dl, 2
setne al
inc r11
mov r12d, ecx
add al, 0x1b
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x78], r11
mov byte [r11 - 1], al
mov rdi, qword [rsp + 0x70]
inc rdi
jmp 0x140036c4e
mov r9d, dword [rbp - 0x5c]
mov r15d, dword [rbp - 0x58]
mov eax, 0xffffffff
cmp r9d, 0xfffffffe
mov r12, r11
mov qword [rbp - 0x50], r11
cmove r9d, eax
mov eax, edx
mov dword [rbp - 0x28], r15d
shr eax, 2
mov dword [rbp - 0x5c], r9d
mov r14d, r9d
and al, 1
mov dword [rbp - 0x40], r9d
or al, 0xc
inc r11
mov byte [r11 - 1], al
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x78], r11
jmp 0x140036fec
test dword [r13 + 0x78], 0x2000000
jne 0x14003ab26
mov rsi, qword [rbp + 0x118]
cmp dword [rsp + 0x78], 0
mov eax, 1
mov byte [rbp + 0x38], bl
mov edx, eax
je 0x14003714d
cmp ebx, 0xc0
jl 0x14003714d
movzx eax, byte [rdi + 1]
inc rdi
and al, 0xc0
cmp al, 0x80
jne 0x14003714d
lea rcx, [rbp + 0x39]
nop word [rax + rax]
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
inc edx
mov byte [rcx], al
movzx eax, byte [rdi + 1]
inc rdi
and al, 0xc0
lea rcx, [rcx + 1]
cmp al, 0x80
je 0x140037130
mov ebx, dword [rbp - 0x58]
test byte [rsp + 0x7c], 1
mov r12, r11
mov qword [rbp - 0x50], r11
setne al
inc r11
add al, 0x1d
mov qword [rbp - 0x78], r11
mov byte [r11 - 1], al
test edx, edx
jle 0x140037197
lea rcx, [rbp + 0x38]
mov r8d, edx
nop word [rax + rax]
movzx eax, byte [rcx]
inc r11
lea rcx, [rcx + 1]
mov byte [r11 - 1], al
dec r8
jne 0x140037180
mov qword [rbp - 0x78], r11
movzx eax, byte [rbp + 0x38]
cmp al, 0xd
je 0x1400371a3
cmp al, 0xa
jne 0x1400371ab
or dword [r13 + 0x7c], 0x800
mov r9d, dword [rbp - 0x5c]
mov r15d, ebx
mov dword [rbp - 0x28], ebx
cmp r9d, 0xfffffffe
jne 0x14003aae3
or r9d, 0xffffffff
mov r14d, r9d
mov dword [rbp - 0x40], r9d
cmp edx, 1
je 0x14003aa9f
cmp dword [rbp - 0xc], 0
je 0x14003aa9f
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
inc rdi
mov dword [rbp - 0x58], r9d
mov dword [rbp - 0x5c], r9d
jmp 0x140036c4e
movzx eax, byte [rdi + 1]
mov r12, r11
mov qword [rbp - 0x50], r11
cmp al, 0x3d
ja 0x14003723d
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x14003723d
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.140036af0
mov rdi, qword [rsp + 0x70]
test eax, eax
jne 0x14003ab38
xor ebx, ebx
mov edx, ebx
mov dword [rbp - 0x20], ebx
mov eax, 1
nop dword [rax]
inc rdi
mov qword [rsp + 0x70], rdi
movzx esi, byte [rdi]
cmp esi, 0x5c
jne 0x14003728d
inc rdi
cmp byte [rdi], 0x45
je 0x140037250
lea r8d, [rsi - 0x59]
lea rdx, [0x1400c4ba8]
mov rcx, rdi
call fcn.1400325e2
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x20]
test eax, eax
jne 0x1400372f4
add rdi, 3
jmp 0x140037244
test edx, edx
jne 0x14003729d
cmp esi, 0x5e
jne 0x14003729d
mov edx, eax
mov dword [rbp - 0x20], eax
jmp 0x140037250
cmp esi, 0x5d
jne 0x1400372f4
test dword [r13 + 0x78], 0x2000000
je 0x1400372f4
mov r11, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x5c]
test edx, edx
mov edx, dword [rsp + 0x7c]
mov eax, 0x97
mov ecx, 0xd
cmovne eax, ecx
inc r11
cmp r9d, 0xfffffffe
mov byte [r11 - 1], al
mov rdi, qword [rsp + 0x70]
mov eax, 0xffffffff
cmove r9d, eax
mov qword [rbp - 0x78], r11
mov dword [rbp - 0x5c], r9d
mov r14d, r9d
mov dword [rbp - 0x40], r9d
jmp 0x140036fe8
mov r12, qword [rbp - 0x78]
xor eax, eax
mov dword [rbp - 0x30], ebx
add r12, 4
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov rax, r12
mov r15d, ebx
mov dword [rbp - 0x48], ebx
mov r10d, ebx
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x70], ebx
mov dword [rbp - 0x6c], ebx
test esi, esi
je 0x14003abb3
mov r8d, dword [rsp + 0x78]
mov r11, qword [rbp - 0x68]
movsxd r14, edx
mov qword [rbp - 0x40], r14
jmp 0x140037343
xor ebx, ebx
test r8d, r8d
je 0x140037437
cmp esi, 0xc0
jl 0x140037437
movzx esi, byte [rdi]
cmp esi, 0xc0
jl 0x140037437
test sil, 0x20
jne 0x14003738b
movzx ecx, byte [rdi + 1]
inc rdi
and esi, 0x1f
and ecx, 0x3f
mov eax, esi
mov qword [rsp + 0x70], rdi
mov esi, ecx
shl eax, 6
jmp 0x140037431
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test sil, 0x10
jne 0x1400373a8
and esi, 0xf
lea rdx, [rdi + 2]
mov eax, esi
mov esi, ecx
shl eax, 6
jmp 0x14003741e
test sil, 8
jne 0x1400373c4
and esi, 7
lea rdx, [rdi + 3]
mov eax, esi
mov esi, ecx
shl eax, 6
or esi, eax
movzx eax, byte [rdi + 2]
jmp 0x140037418
test sil, 4
jne 0x1400373ec
and esi, 3
lea rdx, [rdi + 4]
mov eax, esi
mov esi, ecx
shl eax, 6
or esi, eax
movzx eax, byte [rdi + 2]
and eax, 0x3f
shl esi, 6
or esi, eax
movzx eax, byte [rdi + 3]
jmp 0x140037418
and esi, 1
lea rdx, [rdi + 5]
mov eax, esi
mov esi, ecx
shl eax, 6
or esi, eax
movzx eax, byte [rdi + 2]
and eax, 0x3f
shl esi, 6
or esi, eax
movzx eax, byte [rdi + 3]
and eax, 0x3f
shl esi, 6
or esi, eax
movzx eax, byte [rdi + 4]
shl esi, 6
and eax, 0x3f
or esi, eax
movzx eax, byte [rdx]
mov rdi, rdx
shl esi, 6
and eax, 0x3f
mov qword [rsp + 0x70], rdx
or esi, eax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x14003744c
sub r12d, eax
add dword [rcx], r12d
mov r12, rax
mov edx, dword [rbp - 0x80]
test edx, edx
je 0x14003747c
cmp esi, 0x5c
jne 0x1400376d9
cmp byte [rdi + 1], 0x45
mov r9d, dword [rsp + 0x7c]
lea rax, [rdi + 1]
jne 0x1400376de
mov edx, ebx
mov dword [rbp - 0x80], ebx
mov rdi, rax
jmp 0x1400377fe
cmp esi, 0x5b
jne 0x140037686
movzx eax, byte [rdi + 1]
cmp al, 0x3d
ja 0x1400376d9
movzx eax, al
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x1400376d9
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.140036af0
test eax, eax
je 0x140037e71
mov rdi, qword [rsp + 0x70]
mov esi, ebx
mov rbx, qword [r13 + 0x10]
cmp byte [rdi + 1], 0x3a
jne 0x14003ab6e
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x5e
jne 0x1400374f1
mov eax, 1
inc rdi
mov esi, eax
mov dword [rbp - 0x30], eax
mov qword [rsp + 0x70], rdi
mov edx, dword [rbp + 0x48]
mov rcx, rdi
sub edx, edi
call fcn.140036a70
mov edx, eax
test eax, eax
js 0x14003ab57
mov r11d, dword [rsp + 0x7c]
test r11b, 1
je 0x140037522
cmp eax, 2
mov r10d, 0
cmovle edx, r10d
jmp 0x140037525
xor r10d, r10d
lea r14, [0x140000000]
bt r11d, 0x1d
jae 0x140037565
mov eax, esi
neg eax
sbb ecx, ecx
and ecx, 0xe
lea eax, [rdx + rcx]
cdqe
mov rdi, qword [r14 + rax*8 + 0x2b72f0]
test rdi, rdi
je 0x140037565
mov r11, qword [rbp + 0x48]
mov r10d, dword [rbp - 0x70]
inc r11
dec rdi
mov qword [rbp - 0x68], r11
jmp 0x1400377f1
lea eax, [rdx + rdx*2]
movsxd rcx, eax
movsxd rax, dword [r14 + rcx*4 + 0xc3e50]
mov r8d, dword [r14 + rcx*4 + 0xc3e58]
movups xmm0, xmmword [rax + rbx]
movups xmm1, xmmword [rax + rbx + 0x10]
movsxd rax, dword [r14 + rcx*4 + 0xc3e54]
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm1
test eax, eax
js 0x1400375f3
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x88]
sub rax, rdx
mov edx, 0x20
lea r9, [rax + rbx]
test r8d, r8d
js 0x1400375e0
nop dword [rax]
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec rdx
jne 0x1400375c0
jmp 0x1400375f3
movzx eax, byte [rcx + r9]
lea rcx, [rcx + 1]
not al
and byte [rcx - 1], al
dec rdx
jne 0x1400375e0
test r8d, r8d
jns 0x1400375fb
neg r8d
cmp r8d, 1
jne 0x14003760a
and byte [rbp + 0x89], 0xc3
jmp 0x140037617
cmp r8d, 2
jne 0x140037617
and byte [rbp + 0x93], 0x7f
mov rcx, r10
mov edx, 0x20
test esi, esi
je 0x140037650
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x88]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx - 9], al
dec rdx
jne 0x140037630
jmp 0x140037665
movzx eax, byte [rbp + rcx + 0x88]
lea rcx, [rcx + 1]
or byte [rbp + rcx - 9], al
dec rdx
jne 0x140037650
mov rdi, qword [rbp + 0x48]
mov eax, 1
mov r10d, 2
inc rdi
mov r15d, eax
mov dword [rbp - 0x48], eax
mov dword [rbp - 0x70], r10d
jmp 0x1400377ed
mov r9d, dword [rsp + 0x7c]
cmp esi, 0x5c
jne 0x1400376de
mov rdi, qword [rbp + 0x118]
mov r8d, dword [r13 + 0x64]
mov eax, 1
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov dword [rsp + 0x20], eax
call fcn.140036270
cmp dword [rdi], 0
movsxd rsi, eax
jne 0x14003ab64
mov ebx, esi
neg ebx
cmp ebx, 5
jne 0x1400377c2
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rbp - 0x70]
lea esi, [rbx + 3]
mov edx, dword [rbp - 0x80]
mov r9d, dword [rsp + 0x7c]
cmp byte [rdi + 1], 0x5c
jne 0x14003770e
xor r8d, r8d
nop word [rax + rax]
cmp byte [rdi + 2], 0x45
lea rax, [rdi + 2]
jne 0x14003770b
mov qword [rsp + 0x70], rax
cmp byte [rax + 1], 0x5c
mov edx, r8d
mov rdi, rax
je 0x1400376f0
mov dword [rbp - 0x80], edx
mov rbx, rdi
cmp esi, 0xd
je 0x14003771b
cmp esi, 0xa
jne 0x140037723
or dword [r13 + 0x7c], 0x800
test edx, edx
jne 0x140038104
cmp byte [rdi + 1], 0x2d
jne 0x140038104
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x5c
jne 0x14003775b
cmp byte [rdi + 1], 0x45
jne 0x140037e91
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x5c
je 0x140037743
mov r11d, 1
movzx eax, byte [rdi]
test al, al
je 0x140038332
test edx, edx
jne 0x140037778
cmp al, 0x5d
je 0x140038332
mov r8d, dword [rsp + 0x78]
movzx r14d, al
test r8d, r8d
je 0x140037fa9
cmp r14d, 0xc0
jl 0x140037fa9
test r14b, 0x20
jne 0x140037ee2
movzx ecx, byte [rdi + 1]
inc rdi
and r14d, 0x1f
and ecx, 0x3f
mov eax, r14d
mov qword [rsp + 0x70], rdi
mov r14d, ecx
shl eax, 6
jmp 0x140037fa6
cmp ebx, 0xc
je 0x14003ab91
cmp ebx, 0x1a
jne 0x140037869
mov rdi, qword [rsp + 0x70]
cmp byte [rdi + 1], 0x5c
jne 0x140037855
cmp byte [rdi + 2], 0x45
jne 0x140037855
add rdi, 2
mov r10d, dword [rbp - 0x70]
mov r11, qword [rbp - 0x68]
mov edx, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x7c]
mov ebx, dword [rbp - 0x6c]
xor r14d, r14d
inc rdi
mov qword [rsp + 0x70], rdi
movzx esi, byte [rdi]
test esi, esi
jne 0x140037837
test r11, r11
je 0x14003abb3
lea rdi, [r11 + 1]
mov qword [rbp - 0x68], r14
mov r11, r14
mov qword [rsp + 0x70], rdi
movzx esi, byte [rdi]
test esi, esi
je 0x14003abb3
mov rax, qword [rbp - 0x28]
mov r14, qword [rbp - 0x40]
cmp esi, 0x5d
jne 0x140037341
test edx, edx
je 0x140038465
jmp 0x140037341
mov r10d, dword [rbp - 0x70]
mov r11, qword [rbp - 0x68]
mov eax, 1
mov edx, eax
mov dword [rbp - 0x80], eax
jmp 0x1400377f4
mov r10d, dword [rbp - 0x70]
cmp ebx, 0x19
je 0x140037e7b
test eax, eax
jns 0x140037e71
mov rdx, qword [r13 + 0x10]
inc r15d
add r10d, 2
mov eax, 0xfffffffa
mov dword [rbp - 0x48], r15d
mov dword [rbp - 0x70], r10d
sub eax, esi
cmp eax, 0x1c
ja case.0x1400378b5.6
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x3af00]
add rcx, r8
jmp rcx
mov r11, qword [rsp + 0x70]
lea rax, [rsi*8 + 0xe8]
lea rcx, [0x1402b72c0]
sub rcx, rax
mov qword [rbp - 0x68], r11
mov rdi, qword [rcx]
dec rdi
dec r15d
mov dword [rbp - 0x48], r15d
jmp 0x1400377f1
lea rax, [rbp - 8]
lea rcx, [rbp - 8]
mov r8d, 0x20
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x40]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x140037900
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
lea rax, [rbp - 8]
mov dword [rbp - 0x30], 1
lea rcx, [rbp - 8]
sub rdx, rax
mov r8d, 0x20
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx + 0x40]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x140037940
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
lea rax, [rbp - 8]
lea rcx, [rbp - 8]
mov r8d, 0x20
sub rdx, rax
nop
movzx eax, byte [rdx + rcx + 0xa0]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x140037970
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
lea rax, [rbp - 8]
mov dword [rbp - 0x30], 1
lea rcx, [rbp - 8]
sub rdx, rax
mov r8d, 0x20
nop word [rax + rax]
movzx eax, byte [rcx + rdx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x1400379b0
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
movzx eax, byte [rdx]
lea rcx, [rbp - 6]
mov r8d, 0x1e
or byte [rbp - 8], al
movzx eax, byte [rdx + 1]
and al, 0xf7
or byte [rbp - 7], al
lea rax, [rbp - 6]
sub rdx, rax
movzx eax, byte [rdx + rcx + 2]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x1400379f0
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
lea rax, [rbp - 8]
mov dword [rbp - 0x30], 1
lea rcx, [rbp - 8]
sub rdx, rax
mov r8d, 0x20
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x140037a30
or byte [rbp - 7], 8
mov rdi, qword [rsp + 0x70]
jmp 0x1400377ed
mov r8d, dword [rsp + 0x78]
or byte [rbp - 7], 2
or byte [rbp - 4], 1
or byte [rbp + 0xc], 1
test r8d, r8d
je 0x140037e80
mov eax, 1
inc r12
mov ecx, 0x1680
mov byte [r12 - 1], al
mov rdx, r12
mov ebx, eax
mov dword [rbp - 0x6c], eax
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180e
mov byte [r12], bl
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2000
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x200a
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x202f
mov byte [r12], bl
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x205f
mov byte [r12], bl
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x3000
mov byte [r12], bl
inc r12
mov rdx, r12
call fcn.14004f050
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rbp - 0x70]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x7c]
mov edx, dword [rbp - 0x80]
mov r11, qword [rbp - 0x68]
movsxd rcx, eax
add r12, rcx
jmp 0x140037801
xor r14d, r14d
mov edx, r14d
nop word [rax + rax]
mov ecx, edx
mov r8d, 0xff
dec ecx
je 0x140037b6e
sub ecx, 3
je 0x140037b66
cmp ecx, 0x10
jne 0x140037b74
mov r8d, 0xfe
jmp 0x140037b74
mov r8d, 0xfd
movsxd rax, edx
inc edx
or byte [rbp + rax - 8], r8b
cmp edx, 0x20
jl 0x140037b50
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x140037cfc
mov eax, 1
mov byte [r12], 2
inc r12
mov rdx, r12
mov ecx, 0x100
mov ebx, eax
mov dword [rbp - 0x6c], eax
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x167f
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x1681
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180d
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180f
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x1fff
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x200b
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x202e
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2030
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x205e
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2060
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2fff
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x3001
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x10ffff
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov r10d, dword [rbp - 0x70]
mov r8d, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x7c]
mov edx, dword [rbp - 0x80]
mov r11, qword [rbp - 0x68]
jmp 0x140037804
mov ebx, dword [rbp - 0x6c]
mov rdi, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x7c]
mov edx, dword [rbp - 0x80]
mov r11, qword [rbp - 0x68]
jmp 0x140037804
mov r8d, dword [rsp + 0x78]
or byte [rbp - 7], 0x3c
or byte [rbp + 8], 0x20
test r8d, r8d
je 0x140037e80
mov eax, 1
mov byte [r12], 2
inc r12
mov rdx, r12
mov ecx, 0x2028
mov ebx, eax
mov dword [rbp - 0x6c], eax
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2029
jmp 0x140037b17
xor r14d, r14d
mov ecx, r14d
mov edx, ecx
mov r8d, 0xff
dec edx
je 0x140037d79
cmp edx, 0xf
jne 0x140037d7f
mov r8d, 0xdf
jmp 0x140037d7f
mov r8d, 0xc3
movsxd rax, ecx
inc ecx
or byte [rbp + rax - 8], r8b
cmp ecx, 0x20
jl 0x140037d60
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x140037cfc
mov eax, 1
mov byte [r12], 2
inc r12
mov rdx, r12
mov ecx, 0x100
mov ebx, eax
mov dword [rbp - 0x6c], eax
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2027
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, 0x202a
jmp 0x140037cb4
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x7c]
lea rcx, [rsp + 0x70]
mov r9, rdi
call fcn.14003ccd0
test eax, eax
js 0x14003ab64
xor r14d, r14d
cmp ebx, 0x10
mov dword [rbp - 0x6c], 1
mov ebx, dword [rbp - 0x6c]
mov ecx, r14d
sete cl
cmp ecx, dword [rbp + 0x7c]
sete cl
add r12, 3
add cl, 3
dec r15d
mov byte [r12 - 3], cl
mov byte [r12 - 2], al
movzx eax, byte [rbp + 0x80]
mov byte [r12 - 1], al
mov dword [rbp - 0x48], r15d
jmp 0x140037cdd
mov r9d, dword [rsp + 0x7c]
test r9b, 0x40
jne 0x14003ab81
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
dec r15d
movzx esi, byte [rdi]
sub r10d, 2
mov dword [rbp - 0x48], r15d
mov dword [rbp - 0x70], r10d
jmp 0x1400376de
mov rdi, qword [rsp + 0x70]
jmp 0x1400376d6
mov r8d, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov edx, dword [rbp - 0x80]
mov r11, qword [rbp - 0x68]
jmp 0x1400377f9
cmp byte [rdi], 0x5c
jne 0x14003775b
nop word [rax + rax]
cmp byte [rdi + 1], 0x51
jne 0x14003775b
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x5c
jne 0x140037ed1
cmp byte [rdi + 1], 0x45
jne 0x140037ed1
add rdi, 2
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x5c
je 0x140037ea0
jmp 0x14003775b
mov r11d, 1
mov edx, r11d
mov dword [rbp - 0x80], edx
jmp 0x140037761
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r14b, 0x10
jne 0x140037f05
and r14d, 0xf
lea rdx, [rdi + 2]
mov eax, r14d
mov r14d, ecx
shl eax, 6
jmp 0x140037f8e
test r14b, 8
jne 0x140037f25
and r14d, 7
lea rdx, [rdi + 3]
mov eax, r14d
mov r14d, ecx
shl eax, 6
or r14d, eax
movzx eax, byte [rdi + 2]
jmp 0x140037f87
test r14b, 4
jne 0x140037f53
and r14d, 3
lea rdx, [rdi + 4]
mov eax, r14d
mov r14d, ecx
shl eax, 6
or r14d, eax
movzx eax, byte [rdi + 2]
and eax, 0x3f
shl r14d, 6
or r14d, eax
movzx eax, byte [rdi + 3]
jmp 0x140037f87
and r14d, 1
lea rdx, [rdi + 5]
mov eax, r14d
mov r14d, ecx
shl eax, 6
or r14d, eax
movzx eax, byte [rdi + 2]
and eax, 0x3f
shl r14d, 6
or r14d, eax
movzx eax, byte [rdi + 3]
and eax, 0x3f
shl r14d, 6
or r14d, eax
movzx eax, byte [rdi + 4]
shl r14d, 6
and eax, 0x3f
or r14d, eax
movzx eax, byte [rdx]
mov rdi, rdx
mov qword [rsp + 0x70], rdx
mov edx, dword [rbp - 0x80]
shl r14d, 6
and eax, 0x3f
or r14d, eax
test edx, edx
jne 0x140037ffc
cmp r14d, 0x5c
jne 0x140037ffc
mov rdi, qword [rbp + 0x118]
mov r8d, dword [r13 + 0x64]
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov dword [rsp + 0x20], r11d
call fcn.140036270
cmp dword [rdi], 0
mov r14d, eax
jne 0x14003ab64
test eax, eax
jns 0x140037fef
cmp eax, 0xfffffffb
jne 0x1400380f4
mov r14d, 8
mov edx, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
cmp r14d, esi
jl 0x14003aba1
je 0x1400380fc
cmp r14d, 0xd
je 0x140038017
cmp r14d, 0xa
jne 0x14003801f
or dword [r13 + 0x7c], 0x800
mov r11d, dword [rsp + 0x7c]
mov r10d, 2
mov dword [rbp - 0x70], r10d
test r8d, r8d
je 0x1400382ae
cmp r14d, 0xff
jg 0x140038054
test r11b, 1
je 0x1400382ae
cmp r14d, 0x7f
jle 0x1400382ae
mov dword [rbp - 0x6c], 1
test r11b, 1
je 0x1400380c1
mov ebx, esi
mov r15d, r14d
lea r9, [0x140000000]
nop dword [rax]
cmp ebx, r15d
ja 0x1400380bd
nop word [rax + rax]
mov eax, ebx
shr rax, 7
movzx ecx, byte [rax + r9 + 0xc6610]
mov eax, ebx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [r9 + rcx*2 + 0xc8810]
mov r8d, dword [r9 + rcx*8 + 0xc5534]
add r8d, ebx
cmp r8d, ebx
jne 0x1400381ea
inc ebx
cmp ebx, r15d
jbe 0x140038080
mov r15d, dword [rbp - 0x48]
mov byte [r12], 2
inc r12
mov ecx, esi
mov rdx, r12
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
mov ecx, r14d
mov rdx, r12
call fcn.14004f050
mov rdi, qword [rsp + 0x70]
movsxd rcx, eax
add r12, rcx
jmp 0x1400377e9
mov rdi, rbx
mov qword [rsp + 0x70], rbx
mov r14, qword [rbp - 0x40]
mov r10d, dword [rbp - 0x70]
cmp r10d, 2
jge 0x140038111
inc r10d
mov dword [rbp - 0x70], r10d
mov eax, dword [rsp + 0x78]
cmp r10d, 1
jne 0x14003813e
cmp byte [rdi + 1], 0x5d
jne 0x14003813e
test eax, eax
je 0x1400383c2
test r14, r14
je 0x1400383c2
cmp esi, 0x80
jl 0x1400383c2
test eax, eax
je 0x140038359
cmp esi, 0xff
jg 0x140038166
mov r11d, dword [rsp + 0x7c]
test r11b, 1
je 0x14003835e
cmp esi, 0x7f
jle 0x14003835e
mov byte [r12], 1
inc r12
mov ecx, esi
mov rdx, r12
mov dword [rbp - 0x6c], 1
call fcn.14004f050
mov r9d, dword [rsp + 0x7c]
movsxd rcx, eax
add r12, rcx
test r9b, 1
je 0x14003833f
lea r8, [0x140000000]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
movsxd rcx, ecx
cdqe
movzx edx, byte [rcx + r8 + 0xc6610]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xc8810]
mov ecx, dword [r8 + rax*8 + 0xc5534]
add ecx, esi
cmp ecx, esi
je 0x14003833f
mov byte [r12], 1
inc r12
jmp 0x1400380dc
cmp ebx, r15d
ja 0x1400380bd
inc ebx
lea edx, [r8 + 1]
cmp ebx, r15d
ja 0x140038239
nop
mov eax, ebx
shr rax, 7
movzx ecx, byte [rax + r9 + 0xc6610]
mov eax, ebx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ecx, word [r9 + rcx*2 + 0xc8810]
mov ecx, dword [r9 + rcx*8 + 0xc5534]
add ecx, ebx
cmp ecx, edx
jne 0x140038239
inc ebx
inc edx
cmp ebx, r15d
jbe 0x140038200
lea edi, [rdx - 1]
cmp r8d, esi
jb 0x14003824c
cmp edi, r14d
jbe 0x140038070
jmp 0x140038260
lea eax, [rsi - 1]
cmp edi, eax
jb 0x14003825b
mov esi, r8d
jmp 0x140038070
cmp edi, r14d
jbe 0x140038271
lea eax, [r14 + 1]
cmp r8d, eax
ja 0x140038271
mov r14d, edi
jmp 0x140038070
cmp r8d, edi
jne 0x140038280
mov byte [r12], 1
inc r12
jmp 0x140038299
mov byte [r12], 2
inc r12
mov ecx, r8d
mov rdx, r12
call fcn.14004f050
movsxd rdx, eax
add r12, rdx
mov rdx, r12
mov ecx, edi
call fcn.14004f050
movsxd rcx, eax
add r12, rcx
jmp 0x140038066
cmp qword [rbp + 0x148], 0
mov ebx, 1
mov r15d, ebx
mov dword [rbp - 0x48], ebx
jne 0x140037e88
cmp esi, r14d
jg 0x140037e88
mov r10d, r11d
movsxd r9, esi
and r10d, ebx
nop dword [rax]
mov eax, esi
mov ecx, esi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, ebx
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 8], dl
test r10d, r10d
je 0x140038323
mov rax, qword [r13 + 8]
movzx ecx, byte [r9 + rax]
mov eax, ecx
and ecx, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, ebx
shl al, cl
or byte [rbp + rdx - 8], al
inc esi
inc r9
cmp esi, r14d
jle 0x1400382e0
jmp 0x1400377e9
mov rdi, rbx
mov qword [rsp + 0x70], rbx
jmp 0x140038104
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rbp - 0x70]
mov r8d, dword [rsp + 0x78]
mov edx, dword [rbp - 0x80]
mov r11, qword [rbp - 0x68]
jmp 0x1400377fe
mov r11d, dword [rsp + 0x7c]
mov r9d, 1
mov eax, esi
mov ecx, esi
cdq
and ecx, 7
mov r15d, r9d
and edx, 7
mov dword [rbp - 0x48], r9d
add eax, edx
mov edx, r9d
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 8], dl
test r9b, r11b
je 0x1400377ed
mov rax, qword [r13 + 8]
movsxd rcx, esi
movzx r8d, byte [rcx + rax]
mov eax, r8d
and r8d, 7
cdq
movzx ecx, r8b
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, r9d
shl al, cl
or byte [rbp + rdx - 8], al
jmp 0x1400377ed
mov ebx, dword [rbp - 0x58]
mov ecx, dword [rbp - 0x20]
inc rdi
mov qword [rsp + 0x70], rdi
mov r15d, ebx
mov dword [rbp - 0x28], ebx
test ecx, ecx
je 0x140038424
mov r11, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x5c]
mov edx, dword [rsp + 0x7c]
mov r12, qword [rbp - 0x50]
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
cmove r9d, eax
test dl, 1
setne al
mov dword [rbp - 0x5c], r9d
mov r14d, r9d
add al, 0x1f
add r11, 2
mov dword [rbp - 0x40], r9d
mov byte [r11 - 2], al
mov byte [r11 - 1], sil
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x78], r11
jmp 0x140036fe8
test eax, eax
je 0x14003844a
cmp esi, 0x7f
jle 0x14003844a
lea rdx, [rbp + 0x38]
mov ecx, esi
call fcn.14004f050
mov r11, qword [rbp - 0x78]
mov rsi, qword [rbp + 0x118]
mov edx, eax
jmp 0x140037150
mov r11, qword [rbp - 0x78]
mov eax, 1
mov byte [rbp + 0x38], sil
mov rsi, qword [rbp + 0x118]
mov edx, eax
jmp 0x140037150
mov eax, dword [rbp - 0x5c]
mov r15d, dword [rbp - 0x58]
mov r11d, dword [rbp - 0x30]
cmp eax, 0xfffffffe
mov ecx, 0xffffffff
mov dword [rbp - 0x28], r15d
cmove eax, ecx
mov dword [rbp - 0x5c], eax
mov r14d, eax
mov dword [rbp - 0x40], eax
test ebx, ebx
je 0x14003852f
test r11d, r11d
je 0x1400384a0
bt r9d, 0x1d
jae 0x14003852f
mov rdx, qword [rbp - 0x78]
mov ecx, dword [rbp - 0x20]
mov byte [r12], 0
inc r12
test ecx, ecx
mov byte [rdx], 0x6c
setne al
cmp dword [rbp - 0x48], 0
mov byte [rdx + 3], al
jle 0x1400384fc
add rdx, 4
or al, 2
mov r8, r12
mov byte [rdx - 1], al
lea rcx, [rdx + 0x20]
sub r8, rdx
mov qword [rbp - 0x78], rdx
call fcn.1400325e8
mov r11, qword [rbp - 0x78]
movups xmm0, xmmword [rbp - 8]
movups xmm1, xmmword [rbp + 8]
movups xmmword [r11], xmm0
movups xmmword [r11 + 0x10], xmm1
lea r11, [r12 + 0x20]
mov qword [rbp - 0x78], r11
jmp 0x140038503
mov r11, r12
mov qword [rbp - 0x78], r12
mov r12, qword [rbp - 0x50]
mov edx, dword [rsp + 0x7c]
mov eax, r11d
sub eax, r12d
sar eax, 8
mov byte [r12 + 1], al
movzx eax, r11b
sub al, r12b
mov byte [r12 + 2], al
mov rdi, qword [rsp + 0x70]
jmp 0x140036fe8
mov ecx, dword [rbp - 0x20]
cmp ecx, r11d
mov r11, qword [rbp - 0x78]
setne al
add al, 0x6a
cmp qword [rbp + 0x148], 0
mov byte [r11], al
jne 0x14003857d
test ecx, ecx
je 0x14003856b
lea rcx, [rbp - 8]
mov edx, 0x20
nop dword [rax + rax]
not byte [rcx]
lea rcx, [rcx + 1]
dec rdx
jne 0x140038560
movups xmm0, xmmword [rbp - 8]
movups xmm1, xmmword [rbp + 8]
movups xmmword [r11 + 1], xmm0
movups xmmword [r11 + 0x11], xmm1
mov rdi, qword [rsp + 0x70]
mov r12, qword [rbp - 0x50]
mov edx, dword [rsp + 0x7c]
add r11, 0x21
mov qword [rbp - 0x78], r11
jmp 0x140036fe8
test esi, esi
je case.0x140036fc2.12
or eax, 0xffffffff
inc rdi
mov r8d, r9d
mov edx, eax
movzx eax, byte [rdi]
cmp al, 0x30
jb 0x1400385e6
cmp al, 0x39
ja 0x1400385ce
lea ecx, [r8 + r8*4]
movzx eax, al
inc rdi
lea r8d, [rcx - 0x18]
lea r8d, [rax + r8*2]
movzx eax, byte [rdi]
cmp al, 0x30
jae 0x1400385b1
cmp r8d, 0xffff
jbe 0x1400385e6
mov rbx, qword [rbp + 0x118]
mov dword [rbx], 5
jmp 0x1400385fc
cmp byte [rdi], 0x7d
jne 0x140038616
mov edx, r8d
mov rbx, qword [rbp + 0x118]
mov dword [rbp - 0x44], r8d
mov dword [rbp - 0x60], edx
cmp dword [rbx], 0
mov qword [rsp + 0x70], rdi
jne 0x14003ae29
mov r9d, dword [rbp - 0x60]
mov esi, dword [rbp - 0x44]
jmp 0x14003869b
movzx eax, byte [rdi + 1]
inc rdi
cmp al, 0x7d
je 0x1400385ee
mov edx, r9d
cmp al, 0x30
jb 0x140038659
cmp al, 0x39
ja 0x140038642
lea ecx, [rdx + rdx*4]
movzx eax, al
inc rdi
lea edx, [rcx - 0x18]
lea edx, [rax + rdx*2]
movzx eax, byte [rdi]
cmp al, 0x30
jae 0x140038628
cmp edx, 0xffff
jbe 0x140038659
mov rbx, qword [rbp + 0x118]
mov dword [rbx], 5
jmp 0x1400385fc
cmp edx, r8d
jge 0x1400385ee
mov rbx, qword [rbp + 0x118]
mov eax, 4
mov dword [rbx], eax
jmp 0x1400385fc
or eax, 0xffffffff
jmp 0x140038687
mov eax, 1
mov esi, eax
mov dword [rbp - 0x44], eax
or eax, 0xffffffff
jmp 0x14003868e
mov eax, 1
mov esi, r9d
mov dword [rbp - 0x44], r9d
mov rbx, qword [rbp + 0x118]
mov r9d, eax
mov dword [rbp - 0x60], eax
test r12, r12
je 0x14003abe2
test esi, esi
jne 0x1400386b0
mov dword [rbp - 0x5c], r14d
mov dword [rbp - 0x58], r15d
mov r8d, 0
mov eax, 0x20000000
cmp esi, r9d
cmove eax, r8d
mov rdx, r12
mov r14d, r8d
mov dword [rbp - 0x20], eax
lea rax, [rdi + 1]
mov qword [rbp - 0x38], rdx
movzx ecx, byte [rax]
mov dword [rbp - 0x70], r8d
lea r15d, [r8 + 1]
cmp cl, 0x2b
jne 0x1400386f7
mov r13d, r8d
mov r14d, r15d
mov dword [rbp - 0x70], r15d
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x14003870e
cmp cl, 0x3f
jne 0x14003870a
mov r13d, dword [rbp + 0x50]
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x14003870e
mov r13d, dword [rbp + 0x40]
cmp byte [r12], 0x6f
jne 0x1400387d1
lea rcx, [r12 + 3]
mov r8d, 3
call fcn.1400325e8
mov r11, qword [rbp - 0x78]
mov r10, qword [rbp + 0x148]
mov word [r12], 0x7b
add r11, 6
mov byte [r12 + 2], 6
mov word [r12 + 6], 0x72
mov byte [r12 + 8], 6
mov qword [rbp - 0x78], r11
mov dword [rbp - 0x10], 9
test r10, r10
jne 0x1400387c2
mov r9, qword [rbp + 0x140]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x48]
add rax, 2
cmp r8, rax
jb 0x1400387c2
movzx eax, byte [r8 - 2]
movzx edx, byte [r8 - 1]
mov rcx, r12
sub rcx, qword [r9 + 0x28]
shl eax, 8
or edx, eax
inc rcx
movsxd rax, edx
cmp rax, rcx
jne 0x1400387c2
lea eax, [rdx + 3]
sar eax, 8
add dl, 3
mov byte [r8 - 2], al
mov rax, qword [r9 + 0x48]
mov r8, r9
mov r9d, dword [rbp - 0x60]
mov byte [rax - 1], dl
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x1400387df
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov r9d, dword [rbp - 0x60]
jmp 0x1400387d8
mov r10, qword [rbp + 0x148]
mov r8, qword [rbp + 0x140]
movzx ecx, byte [r12]
lea eax, [rcx - 0x1d]
cmp al, 1
jbe 0x140039089
lea eax, [rcx - 0x1f]
cmp al, 1
jbe 0x14003901d
cmp cl, 0x17
jae 0x14003885e
mov r8d, dword [rbp - 0x60]
mov ebx, 0x34
movzx esi, cl
test r14d, r14d
jne 0x140039153
mov r12, qword [rbp + 0x140]
test r8d, r8d
jns 0x14003915a
mov r9d, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x50]
lea r8, [rdi + 1]
mov qword [rsp + 0x20], r12
call fcn.140035180
test eax, eax
je 0x14003907b
mov rdi, qword [rsp + 0x70]
mov r8d, dword [rbp - 0x60]
xor eax, eax
mov r13d, eax
mov dword [rbp - 0x70], r15d
jmp 0x14003915a
lea eax, [rcx - 0x6a]
cmp al, 4
jbe 0x140038f6f
lea eax, [rcx - 0x77]
cmp al, 0xa
ja 0x140038f5b
xor r14d, r14d
mov esi, r11d
sub esi, r12d
mov r12d, r14d
mov r15d, r14d
mov r14, qword [rbp - 0x50]
cmp cl, 0x81
jne 0x140038897
cmp byte [r14 + 3], 0x8b
je 0x1400394e9
cmp cl, 0x7b
mov ecx, dword [rbp - 0x44]
jae 0x1400388b8
test ecx, ecx
jg 0x1400394e9
cmp r9d, 1
mov eax, 1
cmova r9d, eax
mov dword [rbp - 0x60], r9d
test ecx, ecx
jne 0x14003898b
mov rax, qword [rbp - 0x18]
cmp r9d, 1
mov r9, r8
mov r8d, dword [rsp + 0x78]
mov byte [r11], r12b
mov rcx, r14
mov qword [rsp + 0x20], rax
jg 0x140038937
mov eax, 1
mov edx, eax
call fcn.140034f60
lea rbx, [r14 + 1]
movsxd r8, esi
mov rcx, rbx
mov rdx, r14
call fcn.1400325e8
mov r11, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x60]
inc r11
mov qword [rbp - 0x78], r11
test r8d, r8d
jne 0x140038918
mov byte [r14], 0x9b
jmp 0x1400394e4
lea eax, [r13 - 0x74]
mov r12, r14
mov qword [rbp - 0x50], rbx
mov byte [r14], al
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
dec r8d
jmp 0x140038b16
mov eax, 4
mov edx, eax
call fcn.140034f60
lea rcx, [r14 + 4]
movsxd r8, esi
mov rdx, r14
call fcn.1400325e8
mov r8d, dword [rbp - 0x60]
add qword [rbp - 0x78], 4
lea eax, [r13 - 0x74]
lea r15, [r14 + 2]
add r14, 4
mov byte [r14 - 4], al
mov word [r14 - 3], 0x7d
mov byte [r14 - 1], r12b
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x50], r14
dec r8d
jmp 0x140038b16
cmp ecx, 1
jle 0x140038b0a
test r10, r10
je 0x1400389e9
mov eax, dword [rbp - 0x10]
dec ecx
mov r8d, ecx
movd xmm1, ecx
movd xmm0, eax
imul r8d, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400c4c20]
ja 0x14003abc5
mov ecx, dword [r10]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, r8d
jl 0x14003abc5
lea eax, [rcx + r8]
mov ecx, dword [rbp - 0x44]
mov dword [r10], eax
jmp 0x140038b0a
cmp dword [rbp + 0x20], r12d
je 0x1400389fb
mov eax, dword [rbp - 0x58]
test eax, eax
cmovs eax, dword [rbp - 0x5c]
mov dword [rbp - 0x58], eax
mov eax, 1
mov r14d, eax
cmp ecx, eax
jle 0x140038b0a
movsxd rdi, esi
nop
mov rbx, qword [r8 + 0x48]
mov rdx, qword [rbp - 0x50]
mov rcx, r11
mov r8, rdi
call fcn.1400325ac
mov r8, qword [rbp + 0x140]
mov rdx, qword [rbp - 0x18]
movsxd rax, dword [r8 + 0x60]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r8 + 0x20]
add rax, rdx
cmp qword [r8 + 0x48], rax
jbe 0x140038aa7
nop word [rax + rax]
sub edx, dword [r8 + 0x20]
sub ebx, dword [r8 + 0x20]
mov rcx, r8
mov qword [rbp - 0x18], rdx
call fcn.14003bc50
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x14003ab64
mov r8, qword [rbp + 0x140]
mov rdx, qword [rbp - 0x18]
movsxd rbx, ebx
mov rcx, qword [r8 + 0x20]
movsxd rax, dword [r8 + 0x60]
movsxd rdx, edx
add rbx, rcx
add rdx, rcx
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rdx
cmp qword [r8 + 0x48], rax
ja 0x140038a50
cmp rdx, rbx
jae 0x140038ae3
nop dword [rax]
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
add rdx, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r8 + 0x48]
add ecx, esi
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r8 + 0x48]
movzx ecx, sil
add cl, byte [rdx - 1]
mov byte [rax + 1], cl
add qword [r8 + 0x48], 2
cmp rdx, rbx
jb 0x140038ab0
mov r11, qword [rbp - 0x78]
mov ecx, dword [rbp - 0x44]
inc r14d
add r11, rdi
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x78], r11
cmp r14d, ecx
jl 0x140038a10
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov r8d, dword [rbp - 0x60]
test r8d, r8d
jle 0x140038b1d
sub r8d, ecx
mov dword [rbp - 0x60], r8d
test r8d, r8d
js 0x140038e00
mov r9, qword [rbp + 0x148]
test r9, r9
je 0x140038bd1
test r8d, r8d
jle 0x140038bd1
mov eax, dword [rbp - 0x10]
movd xmm0, r8d
add eax, 7
mov ecx, eax
movd xmm1, eax
imul ecx, r8d
cvtdq2pd xmm0, xmm0
sub ecx, 6
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400c4c20]
ja 0x14003abd0
mov r8d, dword [r9]
mov eax, 0x7fffffeb
sub eax, r8d
cmp eax, ecx
jl 0x14003abd0
lea eax, [r8 + rcx]
mov dword [r9], eax
mov r11, qword [rbp - 0x78]
test r15, r15
je 0x140038d7b
nop word [rax + rax]
mov ecx, r11d
mov rdx, r11
sub ecx, r15d
inc ecx
movsxd rax, ecx
sub rdx, rax
movzx r8d, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl r8d, 8
or r8d, eax
jne 0x140038d44
xor eax, eax
mov r15d, eax
jmp 0x140038d4a
lea r14d, [r8 - 1]
test r14d, r14d
js 0x140038b88
mov r12, qword [rbp + 0x140]
mov r11, qword [rbp - 0x78]
sub r13b, 0x74
movsxd rdi, esi
nop dword [rax]
mov rbx, qword [r12 + 0x48]
mov byte [r11], r13b
inc r11
mov qword [rbp - 0x78], r11
test r14d, r14d
je 0x140038c33
mov byte [r11], 0x7d
test r15, r15
jne 0x140038c13
xor eax, eax
mov ecx, eax
jmp 0x140038c1a
lea ecx, [r11 + 1]
sub ecx, r15d
mov eax, ecx
lea r15, [r11 + 1]
mov byte [r11 + 2], cl
sar eax, 8
add r11, 3
mov byte [r11 - 2], al
mov qword [rbp - 0x78], r11
mov rdx, qword [rbp - 0x50]
mov r8, rdi
mov rcx, r11
call fcn.1400325ac
movsxd rax, dword [r12 + 0x60]
mov r9, qword [rbp - 0x18]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r12 + 0x20]
add rax, r9
cmp qword [r12 + 0x48], rax
jbe 0x140038cb6
sub r9d, dword [r12 + 0x20]
sub ebx, dword [r12 + 0x20]
mov rcx, r12
mov qword [rbp - 0x18], r9
call fcn.14003bc50
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x14003ab64
mov rcx, qword [r12 + 0x20]
movsxd rax, dword [r12 + 0x60]
mov r9, qword [rbp - 0x18]
movsxd rbx, ebx
movsxd r9, r9d
add rbx, rcx
add r9, rcx
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, r9
cmp qword [r12 + 0x48], rax
ja 0x140038c61
cmp r9, rbx
jae 0x140038d1e
mov eax, 1
test r14d, r14d
mov ecx, 4
mov edx, eax
mov r8d, eax
cmovne edx, ecx
cmovne r8d, ecx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
add r9, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r12 + 0x48]
add ecx, esi
add ecx, edx
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r12 + 0x48]
movzx ecx, sil
add cl, byte [r9 - 1]
add cl, r8b
mov byte [rax + 1], cl
add qword [r12 + 0x48], 2
cmp r9, rbx
jb 0x140038ce0
mov r11, qword [rbp - 0x78]
mov qword [rbp - 0x18], rbx
add r11, rdi
dec r14d
mov qword [rbp - 0x78], r11
jns 0x140038bf0
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x140038b8c
movsxd rax, r8d
sub r15, rax
mov byte [r11], 0x72
mov byte [r11 + 2], cl
mov eax, ecx
sar eax, 8
add r11, 3
mov byte [r11 - 2], al
mov byte [rdx + 1], al
mov byte [rdx + 2], cl
test r15, r15
jne 0x140038ba0
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x78], r11
mov r14d, dword [rbp - 0x70]
xor r9d, r9d
mov r13d, dword [rsp + 0x78]
mov r12, qword [rbp + 0x140]
test r14d, r14d
je 0x1400394e9
movzx eax, byte [rdx]
cmp al, 0x5d
jne 0x140039396
movzx eax, byte [rdx + 3]
mov ecx, 2
sub al, 0xf
cmp al, 1
movzx eax, byte [0x1400c546d]
cmova ecx, r9d
add eax, ecx
cdqe
add rdx, rax
mov qword [rbp - 0x38], rdx
lea r9, [0x140000000]
mov ebx, r11d
sub ebx, edx
test ebx, ebx
jle 0x1400394e9
movzx eax, byte [rdx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja 0x14003947d
cdqe
movzx eax, byte [r9 + rax + 0x3afc8]
mov ecx, dword [r9 + rax*4 + 0x3af74]
add rcx, r9
jmp rcx
mov r11, qword [rbp - 0x78]
mov r14d, dword [rbp - 0x70]
movzx eax, byte [r11 - 2]
lea rdi, [r11 - 3]
shl eax, 8
mov rsi, rdi
movsxd rcx, eax
movzx eax, byte [rdi + 2]
or rcx, rax
sub rsi, rcx
movzx ecx, byte [rsi]
lea eax, [rcx - 0x7b]
cmp al, 1
ja 0x140038e38
test r14d, r14d
je 0x140038e38
mov byte [rsi], 0x7d
jmp 0x140038e44
sub cl, 0x7b
cmp cl, 1
jbe 0x140038f46
cmp qword [rbp + 0x148], 0
mov r15, qword [rbp + 0x140]
jne 0x140038e99
mov rbx, rsi
nop dword [rax + rax]
mov r8d, dword [rsp + 0x78]
mov r9, r15
mov rdx, rdi
mov rcx, rbx
call fcn.14003b5d0
test eax, eax
jne 0x140038e92
movzx eax, byte [rbx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rbx + 2]
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x71
je 0x140038e60
jmp 0x140038e95
add byte [rsi], 5
mov r11, qword [rbp - 0x78]
test r14d, r14d
je 0x140038f3a
movzx eax, byte [rsi]
cmp al, 0x81
je 0x140038eb6
cmp al, 0x86
je 0x140038eb6
inc al
mov byte [rsi], al
mov byte [rdi], 0x75
jmp 0x140038f16
mov rax, qword [rbp - 0x18]
mov r8d, dword [rsp + 0x78]
mov ebx, r11d
mov r9, r15
mov edx, 3
mov rcx, rsi
mov qword [rsp + 0x20], rax
sub ebx, esi
mov byte [r11], 0
call fcn.140034f60
lea rcx, [rsi + 3]
movsxd r8, ebx
mov rdx, rsi
call fcn.1400325e8
mov r11, qword [rbp - 0x78]
mov byte [rsi], 0x7e
mov byte [r11 + 3], 0x75
add ebx, 3
mov byte [r11 + 5], bl
mov eax, ebx
sar eax, 8
add r11, 6
mov byte [r11 - 2], al
mov qword [rbp - 0x78], r11
mov byte [rsi + 1], al
mov byte [rsi + 2], bl
test r12, r12
je 0x140038f20
mov byte [r12], 0x8e
mov eax, dword [rbp - 0x44]
mov rdi, qword [rsp + 0x70]
cmp eax, 2
jl 0x1400394e9
mov rdx, qword [rbp - 0x38]
jmp 0x140038d7f
add r13b, 0x73
mov byte [rdi], r13b
jmp 0x1400394e4
add r13b, 0x73
mov byte [rdi], r13b
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
jmp 0x140038d7f
cmp cl, 0x97
je 0x1400394e9
mov dword [rbx], 0xb
jmp 0x14003ae29
mov r8d, dword [rbp - 0x60]
test r8d, r8d
jne 0x140038f84
mov r11, r12
mov qword [rbp - 0x78], r12
jmp 0x1400394e9
test esi, esi
jne 0x140038fb4
cmp r8d, 0xffffffff
jne 0x140038f9e
add r13b, 0x62
inc r11
mov byte [r11 - 1], r13b
jmp 0x140038d6e
cmp r8d, 1
jne 0x140038fcf
add r13b, 0x66
inc r11
mov byte [r11 - 1], r13b
jmp 0x140038d6e
cmp esi, 1
jne 0x140038fcf
cmp r8d, 0xffffffff
jne 0x140038fcf
add r13b, 0x64
inc r11
mov byte [r11 - 1], r13b
jmp 0x140038d6e
mov r14d, dword [rbp - 0x70]
add r13b, 0x68
mov eax, esi
mov byte [r11], r13b
sar eax, 8
mov byte [r11 + 2], sil
mov byte [r11 + 1], al
cmp r8d, 0xffffffff
mov r9d, 0
cmove r8d, r9d
mov byte [r11 + 4], r8b
mov eax, r8d
mov dword [rbp - 0x60], r8d
sar eax, 8
add r11, 5
mov byte [r11 - 2], al
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x78], r11
jmp 0x140038d82
movzx esi, byte [r12 + 1]
mov r8d, dword [rbp - 0x60]
cmp cl, 0x1f
mov ebx, 0x48
mov eax, 0x3b
cmove ebx, eax
sub ebx, 0x21
test r14d, r14d
jne 0x140039153
mov r12, qword [rbp + 0x140]
test r8d, r8d
jns 0x14003915a
mov r9d, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x50]
lea r8, [rdi + 1]
mov qword [rsp + 0x20], r12
call fcn.140035180
test eax, eax
je 0x14003907b
xor eax, eax
mov dword [rbp - 0x70], r15d
mov r13d, eax
mov rdi, qword [rsp + 0x70]
mov r8d, dword [rbp - 0x60]
jmp 0x14003915a
cmp cl, 0x1d
mov ecx, dword [rsp + 0x78]
mov ebx, 0xd
mov r15d, 0
cmove ebx, r15d
test ecx, ecx
je 0x1400390e8
movzx eax, byte [r11 - 1]
lea rdx, [r11 - 1]
and al, 0xc0
cmp al, 0x80
jne 0x1400390e8
movzx eax, byte [rdx]
and al, 0xc0
cmp al, 0x80
jne 0x1400390cd
nop dword [rax + rax]
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x1400390c0
mov esi, r11d
lea rcx, [rbp + 0x60]
sub esi, edx
movsxd r8, esi
call fcn.1400325ac
mov ecx, dword [rsp + 0x78]
bts esi, 0x1c
jmp 0x140039108
cmp dword [rbp - 0x44], 1
movzx esi, byte [r11 - 1]
jle 0x140039108
mov r15d, dword [r8 + 0x80]
or r15d, esi
or r15d, dword [rbp - 0xc]
mov dword [rbp - 0x58], r15d
xor r15d, r15d
mov r8d, dword [rbp - 0x60]
test r14d, r14d
jne 0x140039153
mov r12, qword [rbp + 0x140]
test r8d, r8d
jns 0x14003915a
mov r9d, dword [rsp + 0x7c]
mov edx, ecx
mov rcx, qword [rbp - 0x50]
lea r8, [rdi + 1]
mov qword [rsp + 0x20], r12
call fcn.140035180
test eax, eax
je 0x14003907b
mov rdi, qword [rsp + 0x70]
mov r8d, dword [rbp - 0x60]
mov r13d, r15d
mov dword [rbp - 0x70], 1
jmp 0x14003915a
mov r12, qword [rbp + 0x140]
mov rcx, qword [rbp - 0x50]
movzx eax, byte [rcx]
sub al, 0xf
cmp al, 1
jbe 0x140039172
or eax, 0xffffffff
mov r15d, eax
mov r14d, eax
jmp 0x14003917c
movzx r14d, byte [rcx + 1]
movzx r15d, byte [rcx + 2]
mov r9, qword [rbp - 0x78]
mov r11, rcx
mov qword [rbp - 0x78], rcx
mov rax, r9
test r8d, r8d
je 0x1400394e9
mov edx, dword [rbp - 0x44]
add r13d, ebx
test edx, edx
jne 0x1400391e2
lea r11, [rcx + 1]
cmp r8d, 0xffffffff
jne 0x1400391b3
add r13b, 0x21
mov byte [rcx], r13b
jmp 0x140039332
cmp r8d, 1
jne 0x1400391c5
add r13b, 0x25
mov byte [rcx], r13b
jmp 0x140039332
add r13b, 0x27
mov eax, r8d
sar eax, 8
mov byte [rcx], r13b
mov byte [r11 + 1], r8b
mov byte [r11], al
add r11, 2
jmp 0x140039332
cmp edx, 1
jne 0x140039235
cmp r8d, 0xffffffff
jne 0x1400391fd
add r13b, 0x23
lea r11, [rcx + 1]
mov byte [rcx], r13b
jmp 0x140039332
mov r11, rax
mov qword [rbp - 0x78], rax
cmp r8d, 1
je 0x1400394e9
lea r11, [r9 + 1]
add r13b, 0x27
lea eax, [r8 - 1]
sar eax, 8
mov byte [r9], r13b
add r11, 2
mov byte [r11 - 2], al
lea eax, [r8 - 1]
mov byte [r11 - 1], al
jmp 0x140039332
lea r11, [rcx + 1]
add bl, 0x29
mov eax, edx
sar eax, 8
mov byte [rcx], bl
add r11, 2
mov byte [r11 - 2], al
mov byte [r11 - 1], dl
mov qword [rbp - 0x78], r11
test r8d, r8d
jns 0x1400392b3
cmp dword [rsp + 0x78], 0
je 0x140039290
bt esi, 0x1c
jae 0x140039290
mov ebx, esi
lea rdx, [rbp + 0x60]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.1400325ac
mov r11, qword [rbp - 0x78]
add r13b, 0x21
add r11, rbx
inc r11
mov byte [r11 - 1], r13b
jmp 0x140039332
mov byte [r11], sil
inc r11
test r14d, r14d
js 0x1400392a6
mov byte [r11], r14b
mov byte [r11 + 1], r15b
add r11, 2
add r13b, 0x21
inc r11
mov byte [r11 - 1], r13b
jmp 0x140039332
cmp r8d, edx
je 0x140039336
cmp dword [rsp + 0x78], 0
je 0x1400392e9
bt esi, 0x1c
jae 0x1400392e9
mov ebx, esi
lea rdx, [rbp + 0x60]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.1400325ac
mov r11, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x44]
add r11, rbx
jmp 0x1400392ef
mov byte [r11], sil
inc r11
test r14d, r14d
js 0x1400392ff
mov byte [r11], r14b
mov byte [r11 + 1], r15b
add r11, 2
sub r8d, edx
mov dword [rbp - 0x60], r8d
cmp r8d, 1
jne 0x140039319
add r13b, 0x25
inc r11
mov byte [r11 - 1], r13b
jmp 0x140039332
add r13b, 0x27
mov eax, r8d
mov byte [r11], r13b
sar eax, 8
mov byte [r11 + 2], r8b
mov byte [r11 + 1], al
add r11, 3
mov qword [rbp - 0x78], r11
mov r13d, dword [rsp + 0x78]
test r13d, r13d
je 0x140039363
bt esi, 0x1c
jae 0x140039363
mov ebx, esi
lea rdx, [rbp + 0x60]
mov rcx, r11
and ebx, 7
mov r8d, ebx
call fcn.1400325ac
mov r11, qword [rbp - 0x78]
add r11, rbx
jmp 0x140039369
mov byte [r11], sil
inc r11
mov qword [rbp - 0x78], r11
test r14d, r14d
js 0x140039381
mov byte [r11], r14b
mov byte [r11 + 1], r15b
add r11, 2
mov qword [rbp - 0x78], r11
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x38]
mov r14d, dword [rbp - 0x70]
xor r9d, r9d
jmp 0x140038d8e
cmp al, 0x29
je 0x1400393a2
cmp al, 0x43
jne 0x140038dc5
lea r9, [0x140000000]
movzx eax, al
movzx eax, byte [rax + r9 + 0xc5410]
add rdx, rax
mov qword [rbp - 0x38], rdx
test r13d, r13d
je 0x140038dcc
movzx eax, byte [rdx - 1]
cmp al, 0xc0
jb 0x140038dcc
movzx eax, al
and eax, 0x3f
movzx eax, byte [rax + r9 + 0xc4cc0]
add rdx, rax
mov qword [rbp - 0x38], rdx
jmp 0x140038dcc
mov rax, qword [rbp - 0x18]
mov byte [r11], 0
mov rcx, qword [rbp - 0x38]
mov r9, r12
mov r8d, r13d
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.140034f60
mov rdx, qword [rbp - 0x38]
lea rcx, [rdx + 3]
movsxd r8, ebx
call fcn.1400325e8
mov rax, qword [rbp - 0x38]
mov r11, qword [rbp - 0x78]
mov byte [rax], 0x7b
mov byte [r11 + 3], 0x72
add ebx, 3
mov byte [r11 + 5], bl
mov ecx, ebx
sar ecx, 8
add r11, 6
mov byte [r11 - 2], cl
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x78], r11
mov byte [rax + 1], cl
mov rax, qword [rbp - 0x38]
mov byte [rax + 2], bl
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x140]
xor eax, eax
mov r12d, eax
mov qword [rbp - 0x50], rax
mov eax, dword [rbp - 0x20]
or dword [rcx + 0x80], eax
mov r15d, dword [rbp - 0x28]
mov r14d, dword [rbp - 0x40]
mov edx, dword [rsp + 0x7c]
jmp 0x140036fe8
mov r9, qword [r13 + 0x48]
inc rdi
xor ebx, ebx
mov r14d, edx
mov dword [rbp - 0x30], edx
mov qword [rsp + 0x70], rdi
movzx edx, byte [rdi]
mov dword [rbp - 0x20], ebx
mov dword [rbp - 0x6c], 0x7f
mov qword [rbp - 0x18], r9
mov dword [rbp - 0x70], ebx
cmp dl, 0x2a
jne 0x140039771
movzx eax, byte [rdi + 1]
lea r12, [rdi + 1]
cmp al, 0x3a
je 0x140039561
movzx ecx, al
mov rax, qword [r13 + 0x18]
test byte [rcx + rax], 2
je 0x140039771
mov rax, qword [rbp + 0x140]
mov qword [rsp + 0x70], r12
mov r13d, ebx
mov rcx, qword [rax + 0x18]
movzx eax, byte [r12]
lea rsi, [0x1400c3d38]
test byte [rax + rcx], 2
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x50], rbx
mov rdi, r12
je 0x1400395a2
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test byte [rax + rcx], 2
jne 0x140039591
mov r14d, edi
sub r14d, r12d
cmp byte [rdi], 0x3a
jne 0x1400395dc
inc rdi
mov qword [rsp + 0x70], rdi
mov rdx, rdi
movzx eax, byte [rdi]
mov qword [rbp - 0x20], rdx
test al, al
je 0x1400395d6
cmp al, 0x29
je 0x1400395d6
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test al, al
jne 0x1400395c3
mov r13d, edi
sub r13d, edx
cmp byte [rdi], 0x29
jne 0x14003ac1b
mov r15d, ebx
mov rdi, rbx
lea rbx, [0x1400c3d70]
cmp r14d, dword [rbx]
jne 0x140039609
movsxd r8, r14d
mov rdx, rsi
mov rcx, r12
call fcn.1400325e2
test eax, eax
je 0x140039650
mov eax, dword [rbx]
add rbx, 0xc
inc r15d
inc eax
inc rdi
cdqe
add rsi, rax
lea rax, [0x1400c3ddc]
cmp rbx, rax
jl 0x1400395f2
mov r11, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x70]
cmp r15d, 9
jge 0x14003ac1b
mov r14d, dword [rbp - 0x40]
mov r15d, dword [rbp - 0x28]
mov r12, qword [rbp - 0x50]
mov edx, dword [rsp + 0x7c]
jmp 0x140036fe8
lea rax, [rdi + rdi*2]
lea rdx, [0x1400c3d70]
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, 0x98
jne 0x1400396da
test r13d, r13d
jne 0x14003abed
mov rdx, qword [rbp + 0x140]
mov r11, qword [rbp - 0x78]
mov eax, 1
mov rcx, qword [rdx + 0x40]
mov dword [rdx + 0x84], eax
test rcx, rcx
je 0x1400396b0
nop
mov byte [r11], 0x9a
movzx eax, byte [rcx + 9]
add r11, 3
mov byte [r11 - 2], al
movzx eax, byte [rcx + 8]
mov byte [r11 - 1], al
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140039690
cmp dword [rdx + 0x74], 0
setg al
inc r11
add al, 0x98
cmp dword [rbp - 0x5c], 0xfffffffe
mov qword [rbp - 0x78], r11
mov byte [r11 - 1], al
jne 0x14003962c
mov dword [rbp - 0x5c], 0xffffffff
jmp 0x14003962c
test r13d, r13d
jne 0x140039712
test ecx, ecx
js 0x14003ac04
mov r11, qword [rbp - 0x78]
inc r11
mov byte [r11 - 1], cl
mov qword [rbp - 0x78], r11
cmp cl, 0x94
jne 0x14003962c
mov rax, qword [rbp + 0x140]
or dword [rax + 0x7c], 0x1000
jmp 0x14003962c
cmp dword [rdx + rax*4 + 8], 0
jl 0x14003abed
movzx eax, byte [rdx + rax*4 + 8]
mov r9, qword [rbp - 0x78]
mov byte [r9], al
cmp al, 0x95
jne 0x14003973b
mov rax, qword [rbp + 0x140]
or dword [rax + 0x7c], 0x1000
mov rdx, qword [rbp - 0x20]
mov byte [r9 + 1], r13b
add r9, 2
movsxd rbx, r13d
mov rcx, r9
mov qword [rbp - 0x78], r9
mov r8, rbx
call fcn.1400325ac
mov r11, qword [rbp - 0x78]
add r11, rbx
inc r11
mov byte [r11 - 1], 0
mov qword [rbp - 0x78], r11
jmp 0x14003962c
cmp dl, 0x3f
jne 0x140039f65
inc rdi
mov qword [rsp + 0x70], rdi
movzx r8d, byte [rdi]
lea eax, [r8 - 0x21]
cmp eax, 0x5b
ja case.0x1400397a9.47
cdqe
movzx eax, byte [r10 + rax + 0x3b040]
mov ecx, dword [r10 + rax*4 + 0x3b004]
add rcx, r10
jmp rcx
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test al, al
je 0x1400397d3
nop word [rax + rax]
cmp al, 0x29
je 0x1400397e5
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test al, al
jne 0x1400397c0
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x12
jmp 0x14003ae29
cmp byte [rdi], bl
je 0x1400397d3
mov r14d, dword [rbp - 0x40]
mov r12, qword [rbp - 0x50]
mov edx, dword [rsp + 0x7c]
jmp 0x140036fe8
mov ecx, 0x7d
inc rdi
mov r15d, 1
mov dword [rbp - 0x6c], ecx
mov qword [rsp + 0x70], rdi
jmp 0x14003a335
mov r15d, ebx
mov ecx, 0x7d
inc rdi
mov dword [rbp - 0x6c], ecx
mov qword [rsp + 0x70], rdi
jmp 0x14003a335
cmp byte [rdi + 1], 0x3f
mov dword [rbp - 0x6c], 0x81
jne 0x140039850
movzx eax, byte [rdi + 2]
cmp al, 0x21
je 0x14003a326
sub al, 0x3c
cmp al, 1
jbe 0x14003a326
mov byte [r11 + 3], 0x87
mov rdi, qword [rsp + 0x70]
or esi, 0xffffffff
movzx eax, byte [rdi + 1]
lea rcx, [rdi + 1]
mov dword [rbp - 0x20], 3
mov r9d, esi
cmp al, 0x52
jne 0x140039891
cmp byte [rdi + 2], 0x26
lea rdx, [rdi + 2]
jne 0x140039891
mov qword [rsp + 0x70], rdx
mov byte [r11 + 3], 0x89
mov rdi, qword [rsp + 0x70]
mov r13d, esi
jmp 0x1400398c8
cmp al, 0x3c
jne 0x1400398a2
mov r13d, 0x3e
mov qword [rsp + 0x70], rcx
jmp 0x1400398c5
cmp al, 0x27
jne 0x1400398b3
mov r13d, 0x27
mov qword [rsp + 0x70], rcx
jmp 0x1400398c5
sub al, 0x2b
mov r13d, ebx
test al, 0xfd
jne 0x1400398c8
mov qword [rsp + 0x70], rcx
movzx r9d, byte [rcx]
mov rdi, rcx
mov r10, qword [rbp + 0x140]
movzx eax, byte [rdi + 1]
lea rcx, [rdi + 1]
mov r8, qword [r10 + 0x18]
test byte [rax + r8], 0x10
je 0x14003ac8e
mov qword [rsp + 0x70], rcx
movzx edx, byte [rcx]
mov rdi, rcx
test byte [rdx + r8], 0x10
mov r12, rcx
je 0x14003992d
nop dword [rax + rax]
test ebx, ebx
js 0x14003991b
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140039919
lea ebx, [rbx + rbx*4]
movzx eax, dl
lea ebx, [rbx - 0x18]
lea ebx, [rax + rbx*2]
jmp 0x14003991b
mov ebx, esi
inc rdi
mov qword [rsp + 0x70], rdi
movzx edx, byte [rdi]
test byte [rdx + r8], 0x10
jne 0x140039900
mov r15d, edi
sub r15d, ecx
mov dword [rbp - 0x48], r15d
test r13d, r13d
jle 0x140039950
movzx eax, byte [rdi]
inc rdi
mov qword [rsp + 0x70], rdi
cmp eax, r13d
jne 0x14003ac79
movzx eax, byte [rdi]
inc rdi
mov qword [rsp + 0x70], rdi
cmp al, 0x29
jne 0x14003ac79
cmp qword [rbp + 0x148], 0
jne 0x14003a32b
test r9d, r9d
jle 0x1400399ba
test ebx, ebx
jle 0x14003ac2d
mov r13, r10
cmp r9d, 0x2d
jne 0x140039992
mov eax, dword [r10 + 0x64]
sub eax, ebx
lea ebx, [rax + 1]
jmp 0x140039996
add ebx, dword [r13 + 0x64]
test ebx, ebx
jle 0x14003a190
cmp ebx, dword [r13 + 0x68]
jg 0x14003a190
mov eax, ebx
mov byte [r11 + 5], bl
sar eax, 8
mov byte [r11 + 4], al
jmp 0x14003a32e
mov rdi, qword [r10 + 0x50]
xor eax, eax
mov esi, eax
cmp dword [r10 + 0x58], eax
jle 0x140039a05
movsxd r14, r15d
mov r15, r10
nop
lea rdx, [rdi + 2]
mov r8, r14
mov rcx, r12
call fcn.1400325e2
test eax, eax
je 0x1400399f2
movsxd rax, dword [r15 + 0x5c]
inc esi
add rdi, rax
cmp esi, dword [r15 + 0x58]
jl 0x1400399d0
mov r15d, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x30]
mov r10, qword [rbp + 0x140]
mov r11, qword [rbp - 0x78]
cmp esi, dword [r10 + 0x58]
jge 0x140039a34
movzx eax, byte [rdi + 1]
movzx ecx, byte [rdi]
mov r13, qword [rbp + 0x140]
shl ecx, 8
or ecx, eax
mov eax, ecx
mov byte [r11 + 5], cl
sar eax, 8
inc byte [r11 + 3]
mov byte [r11 + 4], al
jmp 0x14003a32e
mov r9d, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x78]
mov r8d, r15d
shr r9d, 3
mov rdx, r12
mov rcx, r10
and r9d, 1
mov dword [rsp + 0x20], eax
call fcn.14003c3e0
test eax, eax
jle 0x140039a83
mov r9, qword [rbp - 0x78]
mov r15d, dword [rbp - 0x70]
mov r13, qword [rbp + 0x140]
mov ecx, eax
mov byte [r9 + 5], al
sar ecx, 8
inc byte [r9 + 3]
mov byte [r9 + 4], cl
mov ecx, dword [rbp - 0x6c]
jmp 0x14003a339
test r13d, r13d
jne 0x14003ac3f
cmp byte [r12], 0x52
jne 0x140039afb
xor eax, eax
mov edx, 1
mov ecx, eax
cmp r15d, edx
jle 0x140039acd
movsxd rax, edx
movzx r8d, byte [rax + r12]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14003ac3f
lea ecx, [rcx + rcx*4]
movzx eax, r8b
inc edx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
cmp edx, r15d
jl 0x140039aa1
test ecx, ecx
jne 0x140039ad2
mov ecx, 0xffff
mov r9, qword [rbp - 0x78]
mov r15d, dword [rbp - 0x70]
mov r13, qword [rbp + 0x140]
mov eax, ecx
mov byte [r9 + 5], cl
mov ecx, dword [rbp - 0x6c]
sar eax, 8
mov byte [r9 + 3], 0x89
mov byte [r9 + 4], al
jmp 0x14003a339
cmp r15d, 6
jne 0x140039b3a
lea rdx, str.DEFINE
mov r8d, r15d
mov rcx, r12
call fcn.1400325e2
test eax, eax
jne 0x140039b3a
mov r9, qword [rbp - 0x78]
mov ecx, dword [rbp - 0x6c]
mov r15d, dword [rbp - 0x70]
mov r13, qword [rbp + 0x140]
mov byte [r9 + 3], 0x8b
mov dword [rbp - 0x20], 1
jmp 0x14003a339
test ebx, ebx
jle 0x14003ac57
mov r13, qword [rbp + 0x140]
cmp ebx, dword [r13 + 0x68]
jg 0x14003ac57
mov r9, qword [rbp - 0x78]
mov ecx, dword [rbp - 0x6c]
mov r15d, dword [rbp - 0x70]
mov eax, ebx
mov byte [r9 + 5], bl
sar eax, 8
mov byte [r9 + 4], al
jmp 0x14003a339
inc dword [r13 + 0x74]
mov ecx, 0x77
inc rdi
mov qword [rsp + 0x70], rdi
mov dword [rbp - 0x6c], ecx
mov r15d, ebx
jmp 0x14003a335
inc rdi
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x29
jne 0x140039bbd
mov byte [r11], 0x97
inc r11
mov rdi, qword [rsp + 0x70]
mov edx, dword [rsp + 0x7c]
mov r14d, dword [rbp - 0x40]
mov qword [rbp - 0x78], r11
mov qword [rbp - 0x50], rbx
mov r12, rbx
jmp 0x140036fe8
inc dword [r13 + 0x74]
mov ecx, 0x78
mov r15d, ebx
mov dword [rbp - 0x6c], ecx
jmp 0x14003a335
movzx ecx, byte [rdi + 1]
movzx eax, cl
cmp cl, 0x21
je 0x140039cbb
cmp al, 0x3d
je 0x140039c9e
mov rax, qword [r13 + 0x18]
movzx ecx, cl
test byte [rcx + rax], 0x10
je 0x14003aca3
mov r10, qword [rbp + 0x140]
cmp r8b, 0x3c
mov eax, 0x3e
mov rcx, qword [r10 + 0x18]
mov edx, 0x27
cmove edx, eax
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
mov r13, rdi
test byte [rax + rcx], 0x10
je 0x140039c41
nop word [rax + rax]
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test byte [rax + rcx], 0x10
jne 0x140039c30
mov ecx, edi
sub ecx, r13d
mov dword [rbp - 0x20], ecx
cmp qword [rbp + 0x148], rbx
je 0x140039db6
movzx eax, byte [rdi]
cmp eax, edx
jne 0x14003acee
cmp dword [r10 + 0x58], 0x2710
mov r13, r10
jge 0x14003acdc
lea eax, [rcx + 3]
cmp eax, dword [r10 + 0x5c]
jle 0x140039f00
mov dword [r10 + 0x5c], eax
cmp ecx, 0x20
jle 0x140039f00
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x30
jmp 0x14003ae29
mov ecx, 0x79
inc dword [r13 + 0x74]
add rdi, 2
mov dword [rbp - 0x6c], ecx
mov qword [rsp + 0x70], rdi
mov r15d, ebx
jmp 0x14003a335
mov ecx, 0x7a
jmp 0x140039ca3
mov ecx, 0x7b
inc rdi
mov r15d, ebx
mov qword [rsp + 0x70], rdi
mov dword [rbp - 0x6c], ecx
jmp 0x14003a335
mov byte [r11], 0x70
mov rdi, qword [rsp + 0x70]
mov qword [rbp + 0x28], r11
inc rdi
mov dword [rbp + 0x30], 1
mov eax, ebx
mov qword [rsp + 0x70], rdi
movzx edx, byte [rdi]
cmp dl, 0x30
jb 0x140039d21
cmp dl, 0x39
ja 0x140039d21
lea ecx, [rax + rax*4]
inc rdi
movzx eax, dl
mov qword [rsp + 0x70], rdi
movzx edx, byte [rdi]
lea eax, [rax + rcx*2]
add eax, 0xffffffd0
cmp dl, 0x30
jae 0x140039d00
cmp byte [rdi], 0x29
jne 0x14003acca
cmp eax, 0xff
jg 0x14003acb8
mov byte [r11 + 1], al
mov eax, dword [rsp + 0x70]
sub eax, dword [r13 + 0x30]
inc eax
sar eax, 8
mov byte [r11 + 2], al
movzx eax, byte [rsp + 0x70]
sub al, byte [r13 + 0x30]
mov word [r11 + 4], bx
inc al
add r11, 6
mov byte [r11 - 3], al
jmp 0x140039ba0
inc rdi
mov qword [rsp + 0x70], rdi
movzx r8d, byte [rdi]
lea eax, [r8 - 0x3d]
cmp al, 1
jbe 0x140039d97
cmp r8b, 0x3c
je case.0x1400397a9.36
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x29
jmp 0x14003ae29
mov rsi, qword [rbp + 0x118]
cmp r8b, 0x3e
mov r12d, ebx
sete r12b
xor edx, edx
mov r10d, 0x29
jmp 0x14003a620
mov r12d, dword [r10 + 0x58]
mov rsi, qword [r10 + 0x50]
mov r15d, ebx
test r12d, r12d
jle 0x140039e68
movsxd r14, ecx
nop dword [rax]
lea rdx, [rsi + 2]
mov r8, r14
mov rcx, r13
call fcn.1400325ee
test eax, eax
jne 0x140039e1d
cmp byte [r14 + rsi + 2], al
jne 0x140039e36
movzx eax, byte [rsi + 1]
movzx ecx, byte [rsi]
mov r10, qword [rbp + 0x140]
shl ecx, 8
or ecx, eax
mov eax, dword [r10 + 0x64]
inc eax
cmp ecx, eax
je 0x140039e15
test dword [rsp + 0x7c], 0x80000
je 0x14003ad00
mov r15d, 1
jmp 0x140039e26
js 0x140039e36
mov r10, qword [rbp + 0x140]
movsxd rax, dword [r10 + 0x5c]
inc ebx
add rsi, rax
cmp ebx, r12d
jl 0x140039dd0
jmp 0x140039e63
mov rax, qword [rbp + 0x140]
sub r12d, ebx
mov rdx, rsi
movsxd rax, dword [rax + 0x5c]
imul r12d, eax
lea rcx, [rsi + rax]
movsxd r8, r12d
call fcn.1400325e8
mov rdi, qword [rsp + 0x70]
mov r10, qword [rbp + 0x140]
test r15d, r15d
jne 0x140039ebf
mov r9d, dword [r10 + 0x58]
mov rdx, qword [r10 + 0x50]
xor eax, eax
mov r8d, eax
test r9d, r9d
jle 0x140039ebf
nop word [rax + rax]
cmp rdx, rsi
je 0x140039ead
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
shl ecx, 8
or ecx, eax
mov eax, dword [r10 + 0x64]
inc eax
cmp ecx, eax
jne 0x140039eb0
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x41
jmp 0x14003ae29
dec r8d
movsxd rax, dword [r10 + 0x5c]
inc r8d
add rdx, rax
cmp r8d, r9d
jl 0x140039e80
mov eax, dword [r10 + 0x64]
movsxd rbx, dword [rbp - 0x20]
lea rcx, [rsi + 2]
inc eax
mov r8, rbx
mov rdx, r13
sar eax, 8
mov byte [rsi], al
movzx eax, byte [r10 + 0x64]
inc al
mov byte [rsi + 1], al
call fcn.1400325ac
mov r14d, dword [rbp - 0x30]
mov r13, qword [rbp + 0x140]
mov r11, qword [rbp - 0x78]
mov byte [rbx + rsi + 2], 0
mov rdi, qword [rsp + 0x70]
inc dword [r13 + 0x58]
inc rdi
mov qword [rsp + 0x70], rdi
inc dword [r13 + 0x64]
mov eax, dword [r13 + 0x64]
mov dword [rbp - 0x20], 2
sar eax, 8
mov byte [r11 + 3], al
movzx eax, byte [r13 + 0x64]
mov byte [r11 + 4], al
jmp 0x14003a32e
mov rsi, qword [rbp + 0x118]
mov r10d, 0x29
xor edx, edx
lea r12d, [r10 - 0x28]
jmp 0x14003a620
inc rdi
mov qword [rsp + 0x70], rdi
mov rsi, qword [rbp + 0x118]
mov r10d, 0x29
mov r15d, ebx
jmp 0x14003a111
test dword [rsp + 0x7c], 0x1000
je 0x140039f0c
mov ecx, 0x7d
mov r15d, ebx
mov dword [rbp - 0x6c], ecx
jmp 0x14003a335
mov rsi, qword [rbp + 0x118]
mov r8d, dword [r13 + 0x64]
mov dword [rsp + 0x20], r9d
mov r9d, edx
lea rcx, [rsp + 0x70]
mov rdx, rsi
mov qword [rbp + 0x48], rdi
call fcn.140036270
cmp dword [rsi], 0
movsxd rcx, eax
jne 0x14003ab64
test eax, eax
jns 0x14003aa6c
mov ebx, ecx
neg ebx
cmp ebx, 0x1a
jne 0x14003a01a
mov rdi, qword [rsp + 0x70]
cmp byte [rdi + 1], 0x5c
jne 0x140039ff4
cmp byte [rdi + 2], 0x45
jne 0x140039ff4
add rdi, 2
mov r11, qword [rbp - 0x78]
mov r10d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
inc rdi
jmp 0x140036c4e
mov r11, qword [rbp - 0x78]
mov r10d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x7c]
mov r13, qword [rbp - 0x68]
mov eax, 1
xor ecx, ecx
mov r8d, eax
mov dword [rbp - 0x80], eax
inc rdi
jmp 0x140036c4e
cmp ebx, 0x19
je 0x14003aa62
mov r9d, dword [rbp - 0x5c]
cmp r9d, 0xfffffffe
jne 0x14003a040
lea eax, [rbx - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe r9d, eax
mov dword [rbp - 0x5c], r9d
mov r15d, dword [rbp - 0x58]
mov r14d, r9d
mov dword [rbp - 0x40], r9d
mov dword [rbp - 0x28], r15d
cmp ebx, 0x1b
jne 0x14003a5c3
mov rdi, qword [rsp + 0x70]
mov rax, qword [r13 + 0x48]
mov r10d, 0x27
inc rdi
mov qword [rbp - 0x18], rax
mov eax, 0x3e
mov qword [rsp + 0x70], rdi
cmp byte [rdi], 0x3c
lea r11, [rdi + 1]
cmove r10d, eax
movzx eax, byte [r11]
xor ebx, ebx
sub al, 0x2b
mov dword [rbp - 0x20], ebx
mov r15d, ebx
test al, 0xfd
je 0x14003a1ad
movzx ecx, byte [r11]
mov ebx, 1
mov r9, r11
mov r8d, ebx
test cl, cl
je 0x14003a0e2
xor esi, esi
nop
movzx eax, cl
cmp eax, r10d
je 0x14003a0db
mov rax, qword [r13 + 0x18]
movzx ecx, cl
movzx edx, byte [rcx + rax]
test dl, 4
cmove r8d, esi
test dl, 0x10
je 0x14003a0db
movzx ecx, byte [r9 + 1]
inc r9
test cl, cl
jne 0x14003a0b0
mov rsi, qword [rbp + 0x118]
movzx eax, byte [r9]
cmp eax, r10d
je 0x14003a0fa
mov r15d, dword [rbp - 0x28]
mov dword [rsi], 0x39
jmp 0x140039fd5
test r8d, r8d
je 0x14003a1a3
xor ebx, ebx
mov rdi, r11
mov qword [rsp + 0x70], r11
mov r11, qword [rbp - 0x78]
movzx r8d, byte [rdi]
cmp r8d, 0x2b
jne 0x14003a1ea
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
sub al, 0x30
cmp al, 9
ja 0x14003ad12
movzx edx, byte [rdi]
mov esi, ebx
cmp dl, 0x30
jb 0x14003a161
nop
cmp dl, 0x39
ja 0x14003a161
inc rdi
lea esi, [rsi + rsi*4]
movzx eax, dl
mov qword [rsp + 0x70], rdi
movzx edx, byte [rdi]
lea esi, [rsi - 0x18]
lea esi, [rax + rsi*2]
cmp dl, 0x30
jae 0x14003a140
movzx eax, byte [rdi]
cmp eax, r10d
jne 0x14003ad6c
cmp r8d, 0x2d
jne 0x14003a5a8
test esi, esi
je 0x14003ac2d
mov eax, dword [r13 + 0x64]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x14003a754
mov rcx, qword [rbp + 0x118]
mov eax, 0xf
mov dword [rcx], eax
jmp 0x14003ae29
mov r12d, ebx
xor edx, edx
jmp 0x14003a620
movzx eax, byte [rdi + 2]
lea rcx, [rdi + 2]
cmp al, 0x30
jb 0x14003a1cf
nop dword [rax]
cmp al, 0x39
ja 0x14003a1cf
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x14003a1c0
movzx eax, byte [rcx]
cmp eax, r10d
je 0x14003a105
mov r15d, dword [rbp - 0x28]
mov dword [rsi], 0x39
jmp 0x140039fd5
cmp r8d, 0x2d
jne 0x14003a134
movzx eax, byte [rdi + 1]
lea rcx, [rdi + 1]
sub al, 0x30
cmp al, 9
ja 0x14003a214
mov rdi, rcx
mov qword [rsp + 0x70], rcx
jmp 0x14003a134
mov r15d, ebx
jmp 0x14003a21b
lea r10, [0x140000000]
mov eax, ebx
mov dword [rbp - 0x48], ebx
mov r14d, ebx
mov dword [rbp - 0x30], ebx
lea rdx, [rbp - 0x30]
cmp r8b, 0x29
je 0x14003a2ac
cmp r8b, 0x3a
je 0x14003a2a5
inc rdi
movzx eax, r8b
sub eax, 0x2d
mov qword [rsp + 0x70], rdi
cmp eax, 0x4b
ja case.0x14003a264.53
cdqe
movzx eax, byte [r10 + rax + 0x3b0c0]
mov ecx, dword [r10 + rax*4 + 0x3b09c]
add rcx, r10
jmp rcx
lea rdx, [rbp - 0x48]
jmp 0x14003a29b
or dword [rdx], 0x80000
or dword [r13 + 0x7c], 0x400
jmp 0x14003a29b
or dword [rdx], 1
jmp 0x14003a29b
or dword [rdx], 2
jmp 0x14003a29b
or dword [rdx], 4
jmp 0x14003a29b
or dword [rdx], 8
jmp 0x14003a29b
or dword [rdx], 0x200
jmp 0x14003a29b
or dword [rdx], 0x40
movzx r8d, byte [rdi]
cmp r8b, 0x29
jne 0x14003a230
mov r14d, dword [rbp - 0x30]
mov eax, dword [rbp - 0x48]
or r14d, dword [rsp + 0x7c]
not eax
and r14d, eax
cmp byte [rdi], 0x29
jne 0x140039818
mov rax, qword [r13 + 0x28]
add rax, 3
cmp r11, rax
jne 0x14003a2e3
mov rax, qword [rbp + 0x148]
test rax, rax
je 0x14003a2dd
cmp dword [rax], 6
jne 0x14003a2e3
mov dword [r13 + 0x78], r14d
jmp 0x14003a301
mov eax, r14d
shr eax, 9
and eax, 1
mov dword [rbp + 0x40], eax
xor eax, 1
mov dword [rbp + 0x50], eax
mov eax, r14d
and eax, 1
shl eax, 0x1c
mov dword [rbp - 0xc], eax
mov rax, qword [rbp + 0x100]
mov r15d, dword [rbp - 0x28]
mov edx, r14d
mov dword [rax], r14d
mov r14d, dword [rbp - 0x40]
mov dword [rsp + 0x7c], edx
mov qword [rbp - 0x50], rbx
mov r12, rbx
jmp 0x140036fe8
mov r15d, ebx
jmp 0x14003a332
mov r13, r10
mov r15d, dword [rbp - 0x70]
mov ecx, dword [rbp - 0x6c]
mov r9, qword [rbp - 0x78]
mov rdi, qword [rbp + 0x148]
xor edx, edx
mov byte [r9], cl
mov esi, dword [r13 + 0x80]
mov ebx, dword [r13 + 0x64]
mov r8d, edx
lea eax, [rcx - 0x79]
mov dword [rbp - 0x10], edx
mov r12, r9
cmp eax, 1
lea rax, [rbp - 0x10]
mov qword [rbp - 0x50], r9
setbe r8b
test rdi, rdi
mov qword [rbp - 0x38], r9
cmove rax, rdx
cmp ecx, 0x81
mov ecx, r14d
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], rax
sete dl
lea rax, [rbp + 0x18]
add edx, dword [rbp + 0x138]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x1c]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x20]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r15d
mov r15, qword [rbp + 0x118]
mov dword [rsp + 0x20], r8d
lea rdx, [rbp - 0x38]
lea r8, [rsp + 0x70]
mov r9, r15
call fcn.14003b110
test eax, eax
je 0x14003ab64
mov r9d, dword [rbp - 0x6c]
cmp r9d, 0x7b
jne 0x14003a476
mov r11, qword [rbp - 0x78]
cmp dword [r13 + 0x64], ebx
jg 0x14003a401
mov byte [r11], 0x7c
mov eax, dword [rbp + 0x18]
mov ecx, dword [rbp + 0x1c]
or ebx, 0xffffffff
mov rdi, qword [rsp + 0x70]
cmp byte [rdi], 0x29
jne 0x14003ad60
mov r10, qword [rbp + 0x148]
test r10, r10
je 0x14003a50e
mov r8d, dword [rbp - 0x10]
mov edx, dword [r10]
mov ecx, 0x7fffffeb
lea eax, [r8 - 6]
sub ecx, edx
cmp ecx, eax
jl 0x14003ad54
mov r15d, dword [rbp - 0x28]
mov r14d, dword [rbp - 0x40]
lea eax, [r8 - 6]
add eax, edx
mov edx, dword [rsp + 0x7c]
add r11, 6
mov dword [r10], eax
mov dword [r11 - 5], 0x720300
mov byte [r11 - 1], 3
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x78], r11
jmp 0x140036fe8
lea eax, [r9 - 0x77]
cmp eax, 3
ja 0x14003a483
dec dword [r13 + 0x74]
mov r11, qword [rbp - 0x78]
cmp r9d, 0x81
jne 0x14003a401
test rdi, rdi
jne 0x14003a401
xor eax, eax
mov rdx, r11
mov r8d, eax
nop word [rax + rax]
movzx eax, byte [rdx + 1]
inc r8d
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x72
jne 0x14003a4b0
cmp byte [r11 + 3], 0x8b
jne 0x14003a4e8
cmp r8d, 1
jg 0x14003ad32
mov r9d, 0x8b
jmp 0x14003a401
cmp r8d, 2
jg 0x14003ad43
cmp r8d, 1
jne 0x14003a401
or ebx, 0xffffffff
mov eax, ebx
mov dword [rbp + 0x18], ebx
mov ecx, ebx
mov dword [rbp + 0x1c], ebx
jmp 0x14003a40a
mov r11, qword [rbp - 0x38]
mov qword [rbp - 0x78], r11
cmp r9d, 0x8b
je 0x140039502
mov edx, dword [rbp - 0x5c]
mov r15d, dword [rbp - 0x58]
xor r8d, r8d
mov dword [rbp + 0x20], r8d
mov dword [rbp - 0x28], r15d
mov r14d, edx
mov dword [rbp - 0x40], edx
cmp r9d, 0x7b
jl 0x14003a58a
cmp edx, 0xfffffffe
jne 0x14003a567
test ecx, ecx
js 0x14003a55c
mov dword [rbp - 0x5c], ecx
mov dword [rbp + 0x20], 1
mov r14d, ebx
mov dword [rbp - 0x40], ebx
jmp 0x14003a576
mov dword [rbp - 0x5c], ebx
mov r14d, ebx
mov dword [rbp - 0x40], ebx
jmp 0x14003a576
test ecx, ecx
js 0x14003a576
test eax, eax
jns 0x14003a57e
mov eax, ecx
or eax, esi
mov dword [rbp + 0x18], eax
test eax, eax
js 0x140039506
mov edx, dword [rsp + 0x7c]
mov dword [rbp - 0x58], eax
jmp 0x140036fe8
cmp r9d, 0x77
jne 0x140039506
test eax, eax
js 0x140039506
mov edx, dword [rsp + 0x7c]
mov dword [rbp - 0x58], eax
jmp 0x140036fe8
cmp r8d, 0x2b
jne 0x14003a754
test esi, esi
je 0x14003ac2d
add esi, dword [r13 + 0x64]
jmp 0x14003a754
cmp ebx, 0x1c
jne 0x14003a8cb
mov rdi, qword [rsp + 0x70]
movzx eax, byte [rdi + 1]
lea rcx, [rdi + 1]
cmp al, 0x3c
je 0x14003a5f0
cmp al, 0x27
je 0x14003a5f0
cmp al, 0x7b
je 0x14003a5f0
mov dword [rsi], 0x45
jmp 0x140039fd5
xor edx, edx
mov qword [rsp + 0x70], rcx
movzx eax, byte [rcx]
mov r12d, edx
mov rdi, rcx
cmp al, 0x3c
jne 0x14003a60f
mov r8d, 0x3e
mov r10d, r8d
jmp 0x14003a626
cmp al, 0x27
mov r10d, 0x7d
mov eax, 0x27
cmove r10d, eax
mov r8d, 0x3e
mov rcx, qword [r13 + 0x18]
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
mov r14, rdi
test byte [rax + rcx], 0x10
je 0x14003a651
nop
inc rdi
mov qword [rsp + 0x70], rdi
movzx eax, byte [rdi]
test byte [rax + rcx], 0x10
jne 0x14003a640
mov r15d, edi
sub r15d, r14d
cmp qword [rbp + 0x148], 0
je 0x14003a6c2
test r15d, r15d
je 0x14003ad94
movzx eax, byte [rdi]
cmp eax, r10d
jne 0x14003ad89
cmp r15d, 0x20
jg 0x14003ad7e
mov r9d, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x78]
mov rbx, qword [r13 + 0x38]
shr r9d, 3
mov r8d, r15d
mov rdx, r14
mov rcx, r13
and r9d, 1
mov qword [r13 + 0x38], rdi
mov dword [rsp + 0x20], eax
call fcn.14003c3e0
mov qword [r13 + 0x38], rbx
xor ebx, ebx
mov esi, eax
test eax, eax
jns 0x14003a74b
mov esi, ebx
jmp 0x14003a74b
cmp dword [r13 + 0x58], 0
mov rbx, qword [r13 + 0x50]
mov edi, edx
jle 0x14003a708
movsxd rsi, r15d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + 2]
mov r8, rsi
mov rcx, r14
call fcn.1400325e2
test eax, eax
jne 0x14003a6f9
cmp byte [rsi + rbx + 2], al
je 0x14003a708
movsxd rax, dword [r13 + 0x5c]
inc edi
add rbx, rax
cmp edi, dword [r13 + 0x58]
jl 0x14003a6e0
cmp edi, dword [r13 + 0x58]
jge 0x14003a71c
movzx esi, byte [rbx]
movzx eax, byte [rbx + 1]
shl esi, 8
or esi, eax
jmp 0x14003a749
mov r9d, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x78]
mov r8d, r15d
shr r9d, 3
mov rdx, r14
mov rcx, r13
and r9d, 1
mov dword [rsp + 0x20], eax
call fcn.14003c3e0
mov esi, eax
test eax, eax
jle 0x14003ac3f
xor ebx, ebx
test r12d, r12d
je 0x14003a8dd
cmp qword [rbp + 0x148], 0
mov rdx, qword [rbp - 0x78]
mov rdi, qword [r13 + 0x28]
mov r12, rdx
mov qword [rbp - 0x50], rdx
jne 0x14003a880
mov r14d, dword [rsp + 0x78]
mov byte [rdx], 0
test esi, esi
je 0x14003a792
mov rcx, qword [r13 + 0x28]
mov r8d, esi
mov edx, r14d
call fcn.140034dd0
mov rdx, r12
mov rdi, rax
test rdi, rdi
jne 0x14003a822
mov r9d, dword [rsp + 0x7c]
mov r8d, esi
xor edx, edx
shr r9d, 3
mov rcx, r13
mov dword [rsp + 0x20], r14d
and r9d, 1
call fcn.14003c3e0
test eax, eax
js 0x14003ac3f
movsxd rcx, dword [r13 + 0x60]
movsxd rdi, esi
add rdi, qword [r13 + 0x28]
add rcx, 0xffffffffffffff9c
add rcx, qword [r13 + 0x20]
cmp qword [r13 + 0x48], rcx
jb 0x14003a7f4
mov rcx, r13
call fcn.14003bc50
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
test eax, eax
jne 0x14003ab64
mov rax, qword [r13 + 0x48]
mov r11, qword [rbp - 0x78]
mov ecx, r11d
sub ecx, dword [r13 + 0x28]
inc ecx
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r13 + 0x48]
movzx ecx, r11b
sub cl, byte [r13 + 0x28]
inc cl
mov byte [rax + 1], cl
add qword [r13 + 0x48], 2
jmp 0x14003a884
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
shl ecx, 8
or ecx, eax
jne 0x14003a880
cmp dword [rbp + 0x138], ecx
jg 0x14003a880
mov rax, qword [rbp + 0x130]
mov rbx, rax
test rax, rax
je 0x14003ad9c
nop dword [rax]
mov rcx, qword [rbx + 8]
cmp rcx, rdi
jb 0x14003ad9c
mov r9, r13
mov r8d, r14d
call fcn.14003b5d0
test eax, eax
je 0x14003a87e
mov rbx, qword [rbx]
test rbx, rbx
je 0x14003ad9c
mov rdx, qword [rbp - 0x78]
jmp 0x14003a850
xor ebx, ebx
mov r11, qword [rbp - 0x78]
mov r14d, dword [rbp - 0x40]
mov r15d, dword [rbp - 0x28]
mov edx, dword [rsp + 0x7c]
mov byte [r11], 0x6f
mov eax, edi
add r11, 3
sub eax, dword [r13 + 0x28]
mov qword [rbp - 0x78], r11
mov dword [rbp + 0x20], ebx
sar eax, 8
mov byte [r11 - 2], al
sub dil, byte [r13 + 0x28]
cmp dword [rbp - 0x5c], 0xfffffffe
mov byte [r11 - 1], dil
jne 0x14003a8c1
mov dword [rbp - 0x5c], 0xffffffff
mov rdi, qword [rsp + 0x70]
jmp 0x140036fe8
cmp ebx, 0x23
jl 0x14003a97d
mov esi, 0xffffffdd
sub esi, ecx
jmp 0x14003a8e9
mov r14d, dword [rbp - 0x40]
mov r15d, dword [rbp - 0x28]
mov r9d, dword [rbp - 0x5c]
mov r11, qword [rbp - 0x78]
mov edx, dword [rsp + 0x7c]
cmp r9d, 0xfffffffe
mov eax, 0xffffffff
mov r12, r11
mov qword [rbp - 0x50], r11
cmove r9d, eax
test dl, 1
mov ebx, 1
setne al
add r11, 3
mov dword [rbp - 0x5c], r9d
add al, 0x6d
mov qword [rbp - 0x78], r11
mov byte [r11 - 3], al
mov eax, esi
mov byte [r11 - 1], sil
sar eax, 8
mov byte [r11 - 2], al
mov eax, ebx
cmp esi, 0x20
jge 0x14003a93a
mov ecx, esi
shl eax, cl
or dword [r13 + 0x70], eax
cmp esi, dword [r13 + 0x6c]
jle 0x14003a948
mov dword [r13 + 0x6c], esi
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x14003a8c1
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x14003a96f
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003a955
mov rdi, qword [rsp + 0x70]
jmp 0x140036fe8
mov word [rcx + 0xa], bx
mov rdi, qword [rsp + 0x70]
jmp 0x140036fe8
lea eax, [rbx - 0xf]
cmp eax, 1
jbe 0x14003aa03
mov r11, qword [rbp - 0x78]
mov r10d, dword [rsp + 0x78]
lea eax, [rbx - 0x1d]
cmp eax, 5
ja 0x14003a9cc
mov r13, qword [rsp + 0x70]
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rbp - 0x80]
lea rax, [rcx*8 + 0xe8]
inc r13
lea rcx, [0x1402b72c0]
sub rcx, rax
mov qword [rbp - 0x68], r13
mov rdi, qword [rcx]
xor ecx, ecx
dec rdi
inc rdi
jmp 0x140036c4e
xor r8d, r8d
lea eax, [rbx - 6]
cmp eax, 0x10
mov r12d, r8d
cmovbe r12, r11
mov qword [rbp - 0x50], r12
test r10d, r10d
jne 0x14003a9ef
cmp ecx, 0xfffffff2
jne 0x14003a9ef
mov ebx, 0xd
mov byte [r11], bl
mov rdi, qword [rsp + 0x70]
inc r11
mov qword [rbp - 0x78], r11
jmp 0x140039fde
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
mov r9, rsi
call fcn.14003ccd0
test eax, eax
js 0x14003ab64
mov r11, qword [rbp - 0x78]
xor r8d, r8d
cmp ebx, 0x10
mov ecx, r8d
sete cl
mov r12, r11
cmp ecx, dword [rbp + 0x78]
mov qword [rbp - 0x50], r11
setne cl
add cl, 0xf
add r11, 3
mov byte [r11 - 3], cl
mov byte [r11 - 2], al
movzx eax, byte [rbp + 0x68]
mov byte [r11 - 1], al
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x78], r11
jmp 0x140039fd9
mov rdi, qword [rsp + 0x70]
jmp 0x140039fd5
cmp dword [rsp + 0x78], 0
je 0x14003aa8c
cmp ecx, 0x7f
jle 0x14003aa8c
lea rdx, [rbp + 0x38]
call fcn.14004f050
mov r11, qword [rbp - 0x78]
mov edx, eax
jmp 0x14003714d
mov r11, qword [rbp - 0x78]
mov eax, 1
mov byte [rbp + 0x38], cl
mov edx, eax
jmp 0x14003714d
movzx r9d, al
or r9d, dword [rbp - 0xc]
cmp edx, 1
mov edx, dword [rsp + 0x7c]
mov dword [rbp - 0x5c], r9d
je 0x14003a8c1
movzx eax, byte [r11 - 1]
mov rdi, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x78]
or eax, dword [r13 + 0x80]
mov r8d, dword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
xor ecx, ecx
mov dword [rbp - 0x58], eax
inc rdi
jmp 0x140036c4e
mov eax, dword [rbp - 0xc]
mov r14d, r9d
mov dword [rbp - 0x40], r9d
cmp edx, 1
je 0x14003ab00
test eax, eax
je 0x14003ab00
mov rdi, qword [rsp + 0x70]
jmp 0x140039fd9
movzx ebx, byte [r11 - 1]
mov rdi, qword [rsp + 0x70]
or ebx, dword [r13 + 0x80]
or ebx, eax
mov dword [rbp - 0x58], ebx
jmp 0x140039fd9
mov dword [rsi], 0x14
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x40
jmp 0x14003ae29
cmp byte [rdi + 1], 0x3a
mov ecx, 0xd
mov eax, 0x1f
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x1e
mov rdi, qword [rsp + 0x70]
jmp 0x14003ae29
mov rcx, qword [rbp + 0x118]
mov eax, 0x1f
mov dword [rcx], eax
jmp 0x14003ae29
mov dword [rdi], 7
mov rdi, qword [rsp + 0x70]
jmp 0x14003ae29
mov dword [rdi], 0x47
mov rdi, qword [rsp + 0x70]
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 8
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 6
jmp 0x14003ae29
mov dword [rbx], 0x14
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x14
jmp 0x14003ae29
mov dword [rbx], 9
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov dword [rax], 0x3b
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov dword [rax], 0x42
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x3c
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x3a
jmp 0x14003ae29
mov rcx, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov eax, 0xf
mov dword [rcx], eax
jmp 0x14003ae29
mov rdi, qword [rsp + 0x70]
mov ecx, 0x23
mov eax, 0xf
test ebx, ebx
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
dec rdi
mov dword [rax], 0x1a
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
inc rdi
mov dword [rax], 0x1c
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
inc rdi
mov dword [rax], 0x18
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x26
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x27
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x31
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x2a
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x2b
jmp 0x14003ae29
mov dword [rsi], 0x3f
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
dec rdi
mov dword [rax], 0xc
jmp 0x14003ae29
mov rdi, qword [rsp + 0x70]
mov dword [r15], 0x36
jmp 0x14003ae29
mov rdi, qword [rsp + 0x70]
mov dword [r15], 0x1b
jmp 0x14003ae29
mov dword [r15], 0x14
jmp 0x14003ae29
mov dword [r15], 0xe
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x1d
jmp 0x14003ae29
mov dword [rsi], 0x30
jmp 0x14003ae29
mov dword [rsi], 0x2a
jmp 0x14003ae29
mov dword [rsi], r8d
jmp 0x14003ae29
mov rax, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x70]
mov dword [rax], 0x28
jmp 0x14003ae29
mov rax, qword [rbp + 0x120]
mov ecx, dword [rbp - 0x5c]
mov r10, qword [rbp + 0x110]
mov r8, qword [rbp + 0x148]
mov dword [rax], ecx
mov rax, qword [rbp + 0x128]
mov ecx, dword [rbp - 0x58]
mov dword [rax], ecx
mov rax, qword [rbp + 0x108]
mov qword [rax], r11
mov qword [r10], rdi
test r8, r8
je 0x14003ae1c
mov edx, dword [r8]
mov r9, qword [rbp + 0x58]
mov eax, 0x7fffffeb
sub eax, edx
movsxd rcx, eax
mov rax, r11
sub rax, r9
cmp rcx, rax
jge 0x14003ae13
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x14
jmp 0x14003ae30
sub r11d, r9d
add r11d, edx
mov dword [r8], r11d
mov eax, 1
jmp 0x14003ae35
mov dword [rsi], 0x34
mov r10, qword [rbp + 0x110]
mov qword [r10], rdi
xor eax, eax
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret