Function at 0x1412d3ac0
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [r9]
xor edi, edi
mov r12, qword [r9 + 0xe0]
mov r13, r9
mov rbx, qword [r9 + 0xe8]
mov r10d, edx
mov r9d, r10d
mov qword [rbp - 8], rdi
mov edx, dword [rax + 0x40]
mov r15, rcx
mov rsi, qword [r13 + 0x40]
mov eax, r10d
shr eax, 0x13
mov r11d, edi
shr r9d, 2
and eax, 1
and r9d, 1
mov qword [rbp - 0x18], rdi
mov qword [rsp + 0x70], rdi
movzx r14d, di
mov qword [rsp + 0x60], r12
mov qword [rbp + 8], rbx
mov dword [rbp - 0x60], edi
mov dword [rbp - 0x30], edi
mov dword [rbp - 0x3c], edx
mov word [rbp + 0x68], di
mov dword [rbp - 0x44], edi
mov dword [rbp - 0x40], edi
mov dword [rsp + 0x68], edi
mov dword [rbp - 0x78], edi
mov dword [rsp + 0x54], edi
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x2c], r9d
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x58], rsi
mov qword [rbp], rdi
test dl, 8
je 0x1412d3b77
mov dword [r12], 0x80090000
jmp 0x1412d3b84
test dl, 4
je 0x1412d3b96
mov dword [r12], 0x80180005
mov dword [r12 + 4], 0x801a0000
add r12, 8
mov qword [rsp + 0x60], r12
mov r8d, 0xff
bt r10d, 0x19
jae 0x1412d3c80
cmp r15, rsi
jae 0x1412d6c9e
mov ecx, 0xfc00
mov r10d, 0x10000
nop dword [rax + rax]
cmp r12, rbx
jae 0x1412d6d29
movzx edx, word [r15]
mov r8, r15
add r15, 2
test eax, eax
je 0x1412d3c03
mov eax, edx
and eax, ecx
cmp eax, 0xd800
jne 0x1412d3c03
movzx ecx, word [r15]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, r10d
add r15, 2
test r9d, r9d
je 0x1412d3c62
mov rcx, r12
test r11, r11
je 0x1412d3c36
mov rax, r8
sub rax, qword [r13 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
lea rax, [r12 - 0x10]
cmp r11, rax
jne 0x1412d3c36
cmp dword [r11 + 0xc], 0xff
je 0x1412d3c54
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], edi
mov dword [r12 + 0xc], 0xff
sub r8, qword [r13 + 0x38]
mov r12, rcx
sar r8, 1
mov dword [r11 + 4], r8d
mov eax, dword [rbp - 0x74]
mov ecx, 0xfc00
mov dword [r12], edx
add r12, 4
cmp r15, rsi
jb 0x1412d3bc0
jmp 0x1412d6c95
mov r8, qword [r13 + 0x50]
movabs rax, 0xaaaaaaaaaaaaaaab
add r8, r8
mov qword [rbp - 0x50], rdi
mul r8
mov rcx, r8
mov edi, r10d
shr rdx, 3
bts edi, 7
lea rax, [rdx + rdx*2]
shl rax, 2
sub rcx, rax
sub r8, rcx
add r8, qword [r13 + 0x28]
bt r10d, 0x18
mov qword [rbp - 0x10], r8
cmovae edi, r10d
mov dword [rsp + 0x50], edi
cmp r15, rsi
jae 0x1412d6c93
mov r9, rsi
xor esi, esi
nop word [rax + rax]
xor r14d, r14d
cmp r12, rbx
jae 0x1412d6d29
mov r8, qword [r13]
movzx eax, word [rbp + 0x68]
cmp eax, dword [r8 + 0x3c]
ja 0x1412d6c81
movzx r13d, word [r15]
mov rbx, r15
mov r10d, dword [rbp - 0x74]
add r15, 2
mov dword [rbp - 0x80], r13d
mov edx, r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
test r10d, r10d
je 0x1412d3d5f
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1412d3d5f
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
mov edx, r13d
cmp dword [rbp - 0x78], r14d
je 0x1412d3e42
cmp edx, 0x5c
jne 0x1412d3d88
cmp rcx, r9
jae 0x1412d3d88
cmp word [r15], 0x45
jne 0x1412d3d88
xor esi, esi
mov dword [rbp - 0x78], esi
add r15, 2
jmp 0x1412d41ac
cmp dword [rbp - 0x40], r14d
jg 0x1412d42d3
cmp dword [rsp + 0x54], r14d
jne 0x1412d3e2b
mov ecx, dword [rbp - 0x44]
mov eax, ecx
dec ecx
mov dword [rbp - 0x44], ecx
test eax, eax
jg 0x1412d3e22
mov r8, qword [rbp + 0x78]
mov rcx, r12
test r11, r11
je 0x1412d3dc9
mov rax, rbx
sub rax, qword [r8 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
cmp dword [rbp - 0x2c], r14d
jne 0x1412d3dd4
xor r11d, r11d
jmp 0x1412d3e1a
test r11, r11
je 0x1412d3df0
lea rax, [r12 - 0x10]
cmp r11, rax
mov eax, 0xff
jne 0x1412d3df5
cmp dword [r11 + 0xc], eax
je 0x1412d3e0f
jmp 0x1412d3df5
mov eax, 0xff
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], r14d
mov dword [r12 + 0xc], eax
sub rbx, qword [r8 + 0x38]
sar rbx, 1
mov dword [r11 + 4], ebx
mov qword [rsp + 0x70], r11
mov r12, rcx
mov eax, 1
mov dword [rsp + 0x78], eax
xor esi, esi
mov dword [r12], r13d
add r12, 4
mov dword [rbp - 0x60], esi
mov qword [rsp + 0x60], r12
jmp 0x1412d41ac
cmp dword [rsp + 0x54], r14d
je 0x1412d3fc3
mov eax, edi
and eax, 0x400080
cmp eax, 0x400080
jne 0x1412d3eb4
mov eax, 0xff
cmp edx, eax
jbe 0x1412d3e78
mov eax, r13d
or eax, 1
cmp eax, 0x200f
je 0x1412d3e78
cmp eax, 0x2029
jne 0x1412d3eb4
mov rdi, qword [rbp + 0x78]
test r13d, 0xffffff00
jne 0x1412d3fc7
cmp r13d, 0x23
je 0x1412d3fc7
mov rax, qword [rdi + 0x20]
test byte [r13 + rax], 1
jne 0x1412d3fc7
cmp r13d, 0x85
je 0x1412d3fc7
mov edi, dword [rsp + 0x50]
cmp r13d, 0x29
je 0x1412d3f6e
cmp r13d, 0x5c
je 0x1412d3ed6
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41aa
xor esi, esi
bt edi, 0x16
jae 0x1412d3f5c
mov eax, dword [r8 + 0x40]
lea r9, [rsp + 0x68]
mov r13, qword [rbp + 0x78]
lea r8, [rbp - 0x80]
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1412cd070
mov edx, dword [rsp + 0x68]
test edx, edx
jne 0x1412d6af6
test eax, eax
je 0x1412d3f4a
sub eax, 0x19
je 0x1412d65fe
mov r15, qword [rbp + 0x60]
cmp eax, 1
jne 0x1412d6a88
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rbp - 0x78], eax
jmp 0x1412d41b4
mov r15, qword [rbp + 0x60]
mov r13d, dword [rbp - 0x80]
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41ac
xor esi, esi
mov rax, r15
sub rax, qword [rbp]
mov edx, 0xffff
sar rax, 1
mov ecx, esi
dec rax
mov dword [rsp + 0x54], ecx
cmp rax, rdx
jg 0x1412d6a92
mov rdx, qword [rbp - 8]
mov rax, r12
sub rax, rdx
sar rax, 2
dec eax
mov dword [rdx], eax
mov edx, dword [rbp - 0x30]
test edx, edx
je 0x1412d41b0
mov dword [r12], edx
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x30], esi
jmp 0x1412d41b0
mov rdi, qword [rbp + 0x78]
mov r8, qword [rsp + 0x58]
cmp r13d, 0x5c
jne 0x1412d400a
cmp r15, r8
jae 0x1412d400a
movzx eax, word [r15]
cmp ax, 0x51
je 0x1412d3fe7
cmp ax, 0x45
jne 0x1412d400a
mov r9, qword [rsp + 0x58]
xor esi, esi
mov edi, dword [rsp + 0x50]
cmp ax, 0x51
mov r8d, esi
sete r8b
add r15, 2
mov dword [rbp - 0x78], r8d
jmp 0x1412d41ac
test byte [rsp + 0x50], 0x80
je 0x1412d414a
cmp r13d, 0x100
jae 0x1412d402e
mov rax, qword [rdi + 0x20]
test byte [r13 + rax], 1
jne 0x1412d41a1
cmp r13d, 0x85
je 0x1412d41a1
mov eax, r13d
or eax, 1
cmp eax, 0x200f
je 0x1412d41a1
cmp eax, 0x2029
je 0x1412d41a1
cmp r13d, 0x23
jne 0x1412d414a
mov r13, qword [rbp + 0x78]
cmp r15, r8
jae 0x1412d4139
nop
mov edx, dword [r13 + 0x100]
lea rbx, [r13 + 0x104]
mov rcx, qword [r13 + 0x40]
test edx, edx
je 0x1412d40ba
cmp r15, rcx
jae 0x1412d40a9
mov r8, rcx
mov dword [rsp + 0x20], r10d
mov rcx, r15
mov r9, rbx
call fcn.141311380
test eax, eax
je 0x1412d40a9
mov eax, 1
jmp 0x1412d40ab
xor eax, eax
test eax, eax
jne 0x1412d412e
mov r8, qword [rsp + 0x58]
mov r10d, dword [rbp - 0x74]
jmp 0x1412d40ea
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r15, rax
ja 0x1412d40ea
movzx eax, word [r13 + 0x110]
cmp word [r15], ax
jne 0x1412d40ea
cmp edx, 1
je 0x1412d412e
movzx eax, word [r13 + 0x112]
cmp word [r15 + 2], ax
je 0x1412d4127
add r15, 2
mov rax, r15
test r10d, r10d
je 0x1412d411c
cmp r15, r8
jae 0x1412d411c
movzx eax, word [r15]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x1412d4070
add r15, 2
mov rax, r15
cmp rax, r8
jb 0x1412d4070
jmp 0x1412d4134
lea rbx, [r13 + 0x104]
mov eax, dword [rbx]
lea r15, [r15 + rax*2]
mov r11, qword [rsp + 0x70]
mov r9, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
xor esi, esi
jmp 0x1412d41b4
cmp r13d, 0x28
jne 0x1412d41cb
mov rax, r8
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1412d4217
cmp word [r15], 0x3f
jne 0x1412d4217
cmp word [r15 + 2], 0x23
jne 0x1412d4217
nop dword [rax + rax]
add r15, 2
cmp r15, r8
jae 0x1412d6aa0
cmp word [r15], 0x29
jne 0x1412d4180
cmp r15, r8
jae 0x1412d6aa0
add r15, 2
mov r9, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
xor esi, esi
mov ecx, dword [rsp + 0x54]
mov r13, qword [rbp + 0x78]
movzx r14d, word [rbp + 0x68]
cmp r15, r9
jae 0x1412d6c73
mov rbx, qword [rbp + 8]
jmp 0x1412d3ce0
lea eax, [r13 - 0x2a]
cmp eax, 1
jbe 0x1412d429d
cmp r13d, 0x3f
je 0x1412d429d
cmp r13d, 0x7b
jne 0x1412d4217
mov rdx, qword [rsp + 0x58]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rbp - 0x68], r15
lea rcx, [rbp - 0x68]
call fcn.1412d8c40
test eax, eax
jne 0x1412d429d
mov r11, qword [rsp + 0x70]
mov ecx, dword [rbp - 0x44]
mov eax, ecx
dec ecx
mov dword [rbp - 0x44], ecx
test eax, eax
jg 0x1412d429d
mov rcx, r12
test r11, r11
je 0x1412d423f
mov rax, rbx
sub rax, qword [rdi + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
cmp dword [rbp - 0x2c], r14d
jne 0x1412d424a
xor r11d, r11d
jmp 0x1412d4290
test r11, r11
je 0x1412d4266
lea rax, [r12 - 0x10]
cmp r11, rax
mov eax, 0xff
jne 0x1412d426b
cmp dword [r11 + 0xc], eax
je 0x1412d4285
jmp 0x1412d426b
mov eax, 0xff
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], r14d
mov dword [r12 + 0xc], eax
sub rbx, qword [rdi + 0x38]
sar rbx, 1
mov dword [r11 + 4], ebx
mov qword [rsp + 0x70], r11
mov r12, rcx
mov qword [rsp + 0x60], rcx
mov edx, dword [rbp - 0x40]
test edx, edx
jle 0x1412d4341
cmp r13d, 0x28
jne 0x1412d42d3
mov r11, qword [rsp + 0x58]
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1412d42d3
movzx eax, word [r15]
cmp ax, 0x3f
je 0x1412d42e1
cmp ax, 0x2a
je 0x1412d42e8
sub r15, 2
mov edx, 0x80
jmp 0x1412d503c
cmp word [r15], 0x2a
jne 0x1412d4307
movzx eax, word [r15 + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x1412d4303
mov ecx, eax
mov rax, qword [rdi + 0x20]
test byte [rcx + rax], 4
jne 0x1412d4346
xor eax, eax
jmp 0x1412d4328
movzx ecx, word [r15 + 2]
sub ecx, 0x21
je 0x1412d4346
sub ecx, 0x1b
je 0x1412d432e
sub ecx, 1
je 0x1412d4346
cmp ecx, 6
jne 0x1412d42d3
xor eax, eax
cmp edx, 2
sete al
test eax, eax
je 0x1412d42d3
jmp 0x1412d4346
movzx eax, word [r15 + 4]
cmp ax, 0x3d
je 0x1412d4346
cmp ax, 0x21
jne 0x1412d42d3
jmp 0x1412d4346
mov r11, qword [rsp + 0x58]
mov ecx, dword [rbp - 0x60]
xor ebx, ebx
mov edi, dword [rsp + 0x78]
mov r9d, edx
mov dword [rbp - 0x68], edx
mov eax, ecx
mov dword [rbp - 0x40], ebx
mov edx, ecx
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x60], ebx
test ecx, ecx
je 0x1412d43ae
cmp r13d, 0x3f
je 0x1412d4373
cmp r13d, 0x2b
jne 0x1412d43ae
cmp r13d, 0x3f
mov ecx, 0x10000
mov r8d, 0x20000
cmove ecx, r8d
add ecx, eax
mov rax, 0xfffffffffffffffc
cmp edx, 0x803d0000
mov rdx, 0xfffffffffffffff4
cmove rax, rdx
mov dword [rax + r12], ecx
mov r11, qword [rsp + 0x70]
jmp 0x1412d41a1
lea eax, [r13 - 0x24]
cmp eax, 0x58
ja case.0x1412d43d4.37
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x12d6d84]
mov ecx, dword [rdx + rax*4 + 0x12d6d50]
add rcx, rdx
jmp rcx
mov r13, qword [rbp + 0x78]
lea r9, [rsp + 0x68]
mov edi, dword [rsp + 0x50]
lea r8, [rbp - 0x80]
mov qword [rsp + 0x38], r13
lea rcx, [rbp + 0x60]
mov dword [rsp + 0x30], ebx
mov rdx, r11
mov rax, qword [r13]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1412cd070
mov edx, dword [rsp + 0x68]
mov esi, eax
test edx, edx
jne 0x1412d4458
test eax, eax
je 0x1412d4899
js 0x1412d4804
lea ecx, [rax - 6]
cmp ecx, 0x16
ja case.0x1412d4447.13
movsxd rax, ecx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x12d6df8]
mov ecx, dword [rdx + rax*4 + 0x12d6de0]
add rcx, rdx
jmp rcx
bt edi, 0x14
jae case.0x1412d4447.12
mov edx, 0xb7
mov dword [rsp + 0x68], edx
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x80], rcx
mov r11, qword [rsp + 0x58]
mov ebx, dword [rbp - 0x74]
test byte [rbp - 0x3c], 2
je 0x1412d5038
cmp r15, r11
jb 0x1412d48a5
mov ecx, 0x5c
mov edi, dword [rsp + 0x50]
mov eax, 1
mov dword [r12], ecx
mov dword [rsp + 0x78], eax
add r12, 4
jmp 0x1412d44b2
mov eax, 1
mov dword [rsp + 0x78], eax
lea eax, [rsi - 0x7fe80000]
mov dword [r12], eax
add r12, 4
mov r15, qword [rbp + 0x60]
mov r9, qword [rsp + 0x58]
xor esi, esi
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
jmp 0x1412d41b4
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r13
lea r9, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov word [rbp - 0x48], bx
lea rdx, [rbp - 0x20]
mov word [rbp - 0x80], bx
lea rcx, [rbp + 0x60]
call fcn.1412d2ef0
test eax, eax
je 0x1412d4758
cmp dword [rbp - 0x20], ebx
je 0x1412d4510
cmp esi, 0xf
mov eax, ebx
sete al
lea esi, [rax + 0xf]
movzx ecx, word [rbp - 0x48]
lea eax, [rsi - 0x7fe80000]
mov dword [r12], eax
movzx eax, word [rbp - 0x80]
shl ecx, 0x10
or ecx, eax
mov eax, 1
mov dword [r12 + 4], ecx
add r12, 8
mov dword [rsp + 0x78], eax
jmp 0x1412d44ae
mov rcx, qword [rbp + 0x60]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x80], rcx
cmp rcx, r11
jae 0x1412d4771
movzx eax, word [rcx]
cmp ax, 0x7b
je 0x1412d456d
cmp ax, 0x3c
je 0x1412d45da
cmp ax, 0x27
jne 0x1412d4771
cmp ax, 0x27
mov r14d, 0x7d
mov eax, 0x27
cmove r14d, eax
cmp esi, 0x1b
jne 0x1412d46cd
cmp r14d, 0x7d
je 0x1412d46cd
mov r11d, dword [r13 + 0xd4]
lea r8, [rcx + 2]
mov r13, qword [rsp + 0x58]
xor eax, eax
mov dword [rsp + 0x68], eax
mov r9d, 0xffff
mov r10d, r9d
mov ecx, eax
mov edi, eax
mov edx, eax
test r11d, r11d
js 0x1412d45f1
cmp r8, r13
jae 0x1412d46b8
movzx eax, word [r8]
cmp ax, 0x2b
jne 0x1412d45e2
mov ebx, 1
sub r10d, r11d
jmp 0x1412d45ed
mov r14d, 0x3e
jmp 0x1412d4580
cmp ax, 0x2d
jne 0x1412d45fa
mov ebx, 0xffffffff
add r8, 2
cmp r8, r13
jae 0x1412d46b8
movzx eax, word [r8]
sub ax, 0x30
cmp ax, 9
ja 0x1412d46b8
nop dword [rax]
movzx r9d, word [r8]
lea eax, [r9 - 0x30]
cmp ax, 9
ja 0x1412d4636
lea ecx, [rcx + rcx*4]
add r8, 2
lea ecx, [rcx - 0x18]
lea ecx, [r9 + rcx*2]
cmp ecx, r10d
ja 0x1412d464e
cmp r8, r13
jb 0x1412d4610
test r11d, r11d
js 0x1412d4679
test ebx, ebx
je 0x1412d4679
test ecx, ecx
jne 0x1412d4659
mov edx, 0x7e
mov dword [rsp + 0x68], edx
jmp 0x1412d467e
mov edx, 0xa1
mov dword [rsp + 0x68], edx
jmp 0x1412d467e
test ebx, ebx
jle 0x1412d4662
add ecx, r11d
jmp 0x1412d4679
cmp ecx, r11d
jle 0x1412d4672
mov edx, 0x73
mov dword [rsp + 0x68], edx
jmp 0x1412d467e
sub r11d, ecx
lea ecx, [r11 + 1]
mov edi, 1
mov dword [rbp - 0x70], ecx
test edi, edi
je 0x1412d46b8
mov r11, qword [rsp + 0x58]
cmp r8, r11
jae 0x1412d46a4
movzx eax, word [r8]
cmp eax, r14d
jne 0x1412d46a4
mov r13, qword [rbp + 0x78]
mov r15, r8
jmp 0x1412d66aa
mov r13, qword [rbp + 0x78]
mov eax, 0x9d
mov edx, eax
mov dword [rsp + 0x68], eax
jmp 0x1412d4465
mov r13, qword [rbp + 0x78]
test edx, edx
jne 0x1412d4460
mov r11, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebx, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, r14d
lea rax, [rbp - 0x6c]
mov r8d, ebx
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d475b
cmp esi, 0x1c
je 0x1412d4720
mov eax, 0x80210000
cmp r14d, 0x7d
jne 0x1412d4725
mov eax, 0x80040000
mov rcx, qword [rbp - 0x58]
mov dword [r12], eax
mov eax, dword [rbp - 0x6c]
mov dword [r12 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 8], eax
mov eax, 1
mov dword [r12 + 0xc], ecx
add r12, 0x10
mov dword [rsp + 0x78], eax
jmp 0x1412d44ae
mov ebx, dword [rbp - 0x74]
mov rcx, qword [rbp + 0x60]
mov edx, dword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x80], rcx
jmp 0x1412d4468
cmp esi, 0x1b
mov edx, 0xa9
mov eax, 0x9d
cmove edx, eax
mov dword [rsp + 0x68], edx
jmp 0x1412d4465
bt edi, 0x11
mov eax, 1
mov dword [rsp + 0x78], eax
jae case.0x1412d4447.13
lea eax, [rsi - 7]
test eax, 0xfffffff9
jne 0x1412d47b1
mov eax, 0x80180010
cmp esi, 0xd
jne 0x1412d47b6
mov eax, 0x8018000f
mov dword [r12], eax
add r12, 4
lea eax, [rsi - 6]
mov qword [rsp + 0x60], r12
cmp eax, 5
ja case.default.0x1412d47db
cdqe
mov ecx, dword [rdx + rax*4 + 0x12d6e10]
add rcx, rdx
jmp rcx
mov dword [r12], 0x3000d
jmp 0x1412d44aa
mov dword [r12], 0x70000
jmp 0x1412d44aa
mov dword [r12], 0x90000
jmp 0x1412d44aa
mov r15, qword [rbp + 0x60]
neg esi
mov rcx, r15
mov eax, esi
sub rcx, qword [r13 + 0x38]
or eax, 0x80030000
sar rcx, 1
dec rcx
mov dword [r12], eax
add r12, 4
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x60], r12
cmp esi, 0xa
jge 0x1412d4862
movsxd rax, esi
cmp qword [r13 + rax*8 + 0x58], 0xffffffffffffffff
jne 0x1412d487b
mov r9, qword [rsp + 0x58]
xor esi, esi
mov r11, qword [rsp + 0x70]
mov qword [r13 + rax*8 + 0x58], rcx
mov eax, 1
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x78], eax
jmp 0x1412d41b4
mov rax, rcx
shr rax, 0x20
mov dword [r12], eax
mov dword [r12 + 4], ecx
add r12, 8
mov qword [rsp + 0x60], r12
mov r9, qword [rsp + 0x58]
mov eax, 1
mov r11, qword [rsp + 0x70]
xor esi, esi
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x78], eax
jmp 0x1412d41b4
mov r15, qword [rbp + 0x60]
mov ecx, dword [rbp - 0x80]
jmp 0x1412d4484
movzx ecx, word [r15]
add r15, 2
test ebx, ebx
je 0x1412d4480
mov edi, dword [rsp + 0x50]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1412d4484
movzx eax, word [r15]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add r15, 2
jmp 0x1412d4484
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80090000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41a1
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80160000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41a1
mov dword [r12], 0x80170000
mov r11, qword [rsp + 0x70]
add r12, 4
mov eax, 1
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1412d41a1
mov r8d, 0x80340000
jmp 0x1412d4af2
mov r8d, 0x80370000
jmp 0x1412d4af2
mov r8d, 0x803a0000
jmp 0x1412d4af2
mov r10, qword [rsp + 0x58]
xor eax, eax
mov dword [rsp + 0x68], eax
mov r9d, eax
mov r11d, 0x10000
mov edx, eax
mov r8, r15
cmp r15, r10
jae 0x1412d49bd
nop word [rax + rax]
movzx ecx, word [r8]
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x1412d49b4
cmp cx, 0x7d
je 0x1412d49ce
cmp cx, 0x2c
jne 0x1412d49bd
test r9d, r9d
jne 0x1412d49bd
mov r9d, 1
add r8, 2
cmp r8, r10
jb 0x1412d4990
test edx, edx
jne 0x1412d503c
mov dword [r12], r13d
jmp 0x1412d492c
xor eax, eax
mov r10d, eax
mov r9d, eax
movzx eax, word [r15]
sub ax, 0x30
cmp ax, 9
ja 0x1412d4ae4
nop dword [rax + rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1412d4a1f
lea r10d, [r10 + r10*4]
add r15, 2
lea r10d, [r10 - 0x18]
mov eax, 0xffff
lea r10d, [r8 + r10*2]
cmp r10d, eax
ja 0x1412d4a44
cmp r15, qword [rsp + 0x58]
jb 0x1412d49f0
mov r9d, 1
test r9d, r9d
je 0x1412d4ae4
cmp word [r15], 0x7d
lea rax, [r15 + 2]
mov r15, rax
jne 0x1412d4a4f
mov r11d, r10d
jmp 0x1412d4ad9
mov edx, 0x69
mov dword [rsp + 0x68], edx
jmp 0x1412d4a25
movzx eax, word [rax]
cmp ax, 0x7d
je 0x1412d4ad5
xor ecx, ecx
mov r11d, ecx
mov r9d, ecx
mov edx, ecx
mov dword [rsp + 0x68], ecx
cmp r15, qword [rsp + 0x58]
jae 0x1412d4ae4
sub ax, 0x30
cmp ax, 9
ja 0x1412d4ae4
nop word [rax + rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1412d4aaf
lea r11d, [r11 + r11*4]
add r15, 2
lea r11d, [r11 - 0x18]
mov eax, 0xffff
lea r11d, [r8 + r11*2]
cmp r11d, eax
ja 0x1412d4aca
cmp r15, qword [rsp + 0x58]
jb 0x1412d4a80
mov r9d, 1
test r9d, r9d
je 0x1412d4ae4
cmp r11d, r10d
jge 0x1412d4ad5
mov edx, 0x68
mov dword [rsp + 0x68], edx
jmp 0x1412d4ae4
mov edx, 0x69
mov dword [rsp + 0x68], edx
jmp 0x1412d4ab5
add r15, 2
mov ebx, 1
mov esi, r10d
mov r14d, r11d
test ebx, ebx
je 0x1412d49bd
mov r8d, 0x803d0000
mov dword [rbp - 0x60], r8d
test edi, edi
je 0x1412d6aaa
cmp dword [r12 - 4], 0x802a0000
lea rcx, [r12 - 4]
jne 0x1412d4b41
mov rdx, qword [rbp - 0x18]
cmp rcx, rdx
jb 0x1412d4b2e
nop word [rax + rax]
mov eax, dword [rcx]
mov dword [rcx + 4], eax
sub rcx, 4
cmp rcx, rdx
jae 0x1412d4b20
mov dword [rdx], 0x801a0000
mov dword [r12 + 4], 0x80190000
add r12, 8
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
mov dword [r12], r8d
add r12, 4
cmp r13d, 0x7b
mov qword [rsp + 0x60], r12
mov r13, qword [rbp + 0x78]
jne 0x1412d4146
mov dword [r12], esi
mov dword [r12 + 4], r14d
add r12, 8
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1412d41b4
mov rax, r11
mov edi, 1
sub rax, r15
mov dword [rsp + 0x78], edi
and rax, 0xfffffffffffffffe
cmp rax, 0xc
jl 0x1412d4c63
mov r8d, 6
lea rdx, [0x1400c42a0]
mov rcx, r15
call fcn.14130f6d0
test eax, eax
je 0x1412d4bda
mov r8d, 6
lea rdx, [0x1400c42a8]
mov rcx, r15
call fcn.14130f6d0
test eax, eax
jne 0x1412d4c5e
xor esi, esi
mov dword [r12], 0x80180005
cmp word [r15 + 4], 0x3c
lea rax, [r12 + 8]
jne 0x1412d4bfc
mov dword [r12 + 4], 0x80230000
jmp 0x1412d4c12
mov rcx, qword [rbp + 0x70]
mov dword [r12 + 4], 0x80250000
mov dword [rcx], edi
mov qword [rax], rsi
add rax, 8
mov edi, dword [rsp + 0x50]
lea r12, [rax + 4]
bt edi, 0x11
jb 0x1412d4c28
mov dword [rax], 0x8018000b
jmp 0x1412d4c3a
mov dword [rax], 0x80180010
mov dword [r12], 0x90000
add r12, 4
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80190000
add r12, 4
mov qword [rsp + 0x60], r12
add r15, 0xc
jmp 0x1412d41ac
mov r11, qword [rsp + 0x58]
movabs r14, 0x2400400000000000
cmp r15, r11
jae 0x1412d4cfb
movzx r10d, word [r15]
cmp r10d, 0x3d
ja 0x1412d4cfb
bt r14, r10
jae 0x1412d4cfb
lea r8, [r15 + 2]
mov r9, r11
sub r9, r8
mov rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1412d4cfb
nop dword [rax]
movzx edx, word [r8]
cmp dx, 0x5c
jne 0x1412d4cc1
movzx eax, word [r8 + 2]
sub ax, dx
cmp ax, di
ja 0x1412d4cce
add r8, 2
sub r9, 2
jmp 0x1412d4ce6
cmp dx, 0x5b
jne 0x1412d4cce
cmp word [r8 + 2], r10w
jmp 0x1412d4cd2
cmp dx, 0x5d
je 0x1412d4cfb
cmp dx, r10w
jne 0x1412d4ce6
cmp word [r8 + 2], 0x5d
je 0x1412d6ab8
sub r9, 2
add r8, 2
mov rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1412d4ca0
xor esi, esi
cmp r15, r11
jae 0x1412d4deb
mov r12d, dword [rsp + 0x50]
nop dword [rax + rax]
movzx r13d, word [r15]
add r15, 2
mov edx, r13d
mov dword [rbp - 0x80], r13d
mov rcx, r15
mov qword [rbp + 0x60], r15
cmp dword [rbp - 0x74], esi
je 0x1412d4d6a
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1412d4d6a
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
mov edx, r13d
cmp edx, 0x5c
jne 0x1412d4dc0
mov rdx, rcx
cmp rcx, r11
jae 0x1412d4d88
cmp word [r15], 0x45
jne 0x1412d4d88
lea r15, [rcx + 2]
mov qword [rbp + 0x60], r15
jmp 0x1412d4ddd
mov rax, r11
sub rax, rdx
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1412d4de6
mov r8d, 3
lea rdx, [0x1400c42b0]
mov rcx, r15
call fcn.14130f6d0
test eax, eax
jne 0x1412d4de6
mov r11, qword [rsp + 0x58]
add r15, 6
mov qword [rbp + 0x60], r15
jmp 0x1412d4ddd
bt r12d, 0x18
jae 0x1412d4dd1
cmp edx, 0x20
je 0x1412d4ddd
cmp edx, 9
je 0x1412d4ddd
test ebx, ebx
jne 0x1412d4de6
cmp r13d, 0x5e
jne 0x1412d4de6
mov ebx, edi
cmp r15, r11
jb 0x1412d4d10
mov r12, qword [rsp + 0x60]
cmp r13d, 0x5d
jne 0x1412d4e2d
mov r8, qword [rbp + 0x78]
test byte [r8 + 0xcc], dil
je 0x1412d4e2d
mov r9, qword [rsp + 0x58]
test ebx, ebx
mov r11, qword [rsp + 0x70]
mov eax, 0x800b0000
mov edi, dword [rsp + 0x50]
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41ac
mov r8d, dword [rbp - 0x78]
test ebx, ebx
mov eax, 0x800a0000
mov dword [rbp - 0x68], esi
mov ecx, 0x800e0000
mov ebx, edi
cmovne eax, ecx
mov dword [rsp + 0x78], ebx
mov dword [r12], eax
mov r11d, esi
add r12, 4
mov qword [rsp + 0x60], r12
nop dword [rax]
mov r10d, ebx
test r8d, r8d
je 0x1412d4e9b
cmp r13d, 0x5c
jne 0x1412d4f68
cmp r15, qword [rsp + 0x58]
jae 0x1412d4f68
cmp word [r15], 0x45
jne 0x1412d4f68
mov r8d, esi
mov dword [rbp - 0x78], esi
add r15, 2
mov edi, dword [rsp + 0x50]
jmp 0x1412d50fa
mov ecx, dword [rsp + 0x50]
bt ecx, 0x18
jae 0x1412d4eb1
cmp r13d, 0x20
je 0x1412d4e92
cmp r13d, 9
je 0x1412d4e92
cmp r13d, 0x5b
jne 0x1412d51e3
mov rcx, qword [rsp + 0x58]
mov rax, rcx
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1412d4f68
movzx r9d, word [r15]
cmp r9d, 0x3d
ja 0x1412d4f68
bt r14, r9
jae 0x1412d4f68
lea r12, [r15 + 2]
mov r8, rcx
sub r8, r12
mov rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1412d4f5f
movzx edx, word [r12]
cmp dx, 0x5c
jne 0x1412d4f27
movzx eax, word [r12 + 2]
sub ax, dx
cmp ax, 1
ja 0x1412d4f35
add r12, 2
sub r8, 2
jmp 0x1412d4f4a
cmp dx, 0x5b
jne 0x1412d4f35
cmp word [r12 + 2], r9w
jmp 0x1412d4f39
cmp dx, 0x5d
je 0x1412d4f5f
cmp dx, r9w
jne 0x1412d4f4a
cmp word [r12 + 2], 0x5d
je 0x1412d4f95
sub r8, 2
add r12, 2
mov rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1412d4f03
mov r12, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x78]
cmp r11d, 1
jne 0x1412d551d
cmp r13d, dword [r12 - 8]
jne 0x1412d54e1
mov edi, dword [rsp + 0x50]
sub r12, 4
mov qword [rsp + 0x60], r12
mov r11d, esi
mov dword [rbp - 0x68], esi
jmp 0x1412d50fa
mov r13d, esi
cmp r11d, 1
je 0x1412d6b10
cmp word [r15], 0x3a
jne 0x1412d6ad1
add r15, 2
mov qword [rbp - 0x80], r15
mov r14, r15
cmp word [r15], 0x5e
jne 0x1412d4fcd
add r15, 2
mov r13d, ebx
mov qword [rbp - 0x80], r15
mov r14, r15
mov rbx, r12
lea rdi, [0x1400c3de0]
sub rbx, r14
lea rcx, [0x140000000]
sar rbx, 1
mov r15d, esi
nop word [rax + rax]
movzx eax, byte [rsi + rcx + 0xc4128]
cmp ebx, eax
jne 0x1412d5015
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
call fcn.14130f6d0
test eax, eax
je 0x1412d5064
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0xc4128]
inc rdi
inc rsi
add rdi, rax
inc r15d
cmp byte [rsi + rcx + 0xc4128], 0
jne 0x1412d4ff0
mov edx, 0x82
mov r15, qword [rbp - 0x80]
mov r8, qword [rbp + 0x78]
mov eax, edx
sub r15, qword [r8 + 0x38]
sar r15, 1
mov qword [r8 + 0xa8], r15
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
js 0x1412d5033
mov rax, qword [rsp + 0x58]
lea rcx, [r12 + 4]
add rax, 0xfffffffffffffffe
mov qword [rbp - 0x80], rcx
cmp rcx, rax
jae 0x1412d5091
cmp word [rcx], 0x2d
jne 0x1412d5091
cmp word [rcx + 2], 0x5d
jne 0x1412d6b0d
mov edi, dword [rsp + 0x50]
xor eax, eax
bt edi, 0x11
mov dword [rbp - 0x68], eax
mov r11d, eax
jae 0x1412d51c6
lea rcx, [0x140000000]
mov eax, dword [rcx + rsi*8 + 0x136fa50]
mov ecx, dword [rcx + rsi*8 + 0x136fa54]
test eax, eax
js 0x1412d51a5
mov r12, qword [rsp + 0x60]
xor r13d, 1
sub r13d, 0x7fe7fff1
shl eax, 0x10
or eax, ecx
mov dword [r12], r13d
mov dword [r12 + 4], eax
add r12, 8
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x60], r12
xor esi, esi
mov r8d, dword [rbp - 0x78]
mov ebx, 1
cmp r15, qword [rsp + 0x58]
jae 0x1412d6b28
movzx r13d, word [r15]
add r15, 2
cmp dword [rbp - 0x74], 0
mov ecx, r13d
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
je 0x1412d515a
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1412d515a
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov ecx, r13d
movabs r14, 0x2400400000000000
cmp ecx, 0x5d
jne 0x1412d4e60
test r8d, r8d
jne 0x1412d4e60
cmp r11d, 1
jne 0x1412d5185
mov dword [r12 - 4], 0x2d
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x800d0000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d41ac
test ecx, ecx
je 0x1412d51c6
mov r12, qword [rsp + 0x60]
xor r13d, 1
sub r13d, 0x7fe7ffee
mov dword [r12], r13d
add r12, 4
jmp 0x1412d50e6
mov r12, qword [rsp + 0x60]
lea eax, [r13 + 0x801c]
shl eax, 0x10
mov dword [r12], eax
mov dword [r12 + 4], r15d
jmp 0x1412d50e2
cmp r13d, 0x2d
jne 0x1412d5220
cmp r11d, 2
jb 0x1412d4f68
mov edi, dword [rsp + 0x50]
cmp r11d, 3
mov eax, 0x801e0000
mov dword [rbp - 0x68], ebx
mov ecx, 0x801f0000
mov r11d, ebx
cmove eax, ecx
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1412d50fa
cmp r13d, 0x5c
jne 0x1412d4f68
mov r13, qword [rbp + 0x78]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x80]
mov dword [rsp + 0x30], ebx
mov rdi, r15
mov r14, r15
mov rsi, r15
mov rax, qword [r13]
mov r15, qword [rsp + 0x58]
mov rdx, r15
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x60]
call fcn.1412cd070
mov edx, dword [rsp + 0x68]
movsxd rbx, eax
test edx, edx
je 0x1412d52f3
test byte [rbp - 0x3c], 2
je 0x1412d6af6
mov r15, rsi
cmp rsi, qword [rsp + 0x58]
jb 0x1412d52a1
mov r11d, dword [rbp - 0x68]
xor esi, esi
mov r10d, esi
mov r13d, 0x5c
mov ebx, 1
jmp 0x1412d4f64
cmp dword [rbp - 0x74], 0
lea r15, [r14 + 2]
movzx r13d, word [rdi]
je 0x1412d531b
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1412d531b
movzx eax, word [r15]
and r13d, 0x3ff
mov r11d, dword [rbp - 0x68]
and eax, 0x3ff
shl r13d, 0xa
add r15, 2
or r13d, eax
mov ebx, 1
add r13d, 0x10000
xor esi, esi
mov r10d, esi
jmp 0x1412d4f64
lea rdx, [0x140000000]
cmp ebx, 0x1a
ja case.0x1412d5311.5
movzx eax, byte [rdx + rbx + 0x12d6e40]
mov ecx, dword [rdx + rax*4 + 0x12d6e28]
add rcx, rdx
jmp rcx
mov r15, qword [rbp + 0x60]
mov r13d, dword [rbp - 0x80]
mov r11d, dword [rbp - 0x68]
xor esi, esi
mov r10d, esi
mov ebx, 1
jmp 0x1412d4f64
mov r15, qword [rbp + 0x60]
xor esi, esi
mov r11d, dword [rbp - 0x68]
mov r10d, esi
mov r13d, 8
mov ebx, 1
jmp 0x1412d4f64
mov r15, qword [rbp + 0x60]
mov ebx, 1
mov r11d, dword [rbp - 0x68]
mov r8d, ebx
mov edi, dword [rsp + 0x50]
xor esi, esi
mov dword [rbp - 0x78], ebx
jmp 0x1412d50fa
mov r15, qword [rbp + 0x60]
mov r11d, dword [rbp - 0x68]
mov edi, dword [rsp + 0x50]
jmp 0x1412d50ef
cmp dword [rbp - 0x68], 1
je 0x1412d6aff
xor esi, esi
lea eax, [rbx - 6]
mov dword [rbp - 0x68], esi
mov r11d, esi
cmp eax, 0xf
ja case.0x1412d53a4.13
cdqe
mov ecx, dword [rdx + rax*4 + 0x12d6e5c]
add rcx, rdx
jmp rcx
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
add r12, 4
jmp 0x1412d54ab
mov edi, dword [rsp + 0x50]
bt edi, 0x11
jb 0x1412d53d6
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
add r12, 4
jmp 0x1412d54af
lea eax, [rbx - 7]
test eax, 0xfffffff9
jne 0x1412d53ea
mov eax, 0x80180010
cmp ebx, 0xd
jne 0x1412d53ef
mov eax, 0x8018000f
mov dword [r12], eax
add ebx, 0xfffffffa
add r12, 4
mov qword [rsp + 0x60], r12
cmp ebx, 5
ja case.default.0x1412d5415
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x12d6e9c]
add rcx, rdx
jmp rcx
mov dword [r12], 0x3000d
add r12, 4
jmp 0x1412d54af
mov dword [r12], 0x70000
add r12, 4
jmp 0x1412d54af
mov dword [r12], 0x90000
add r12, 4
jmp 0x1412d54af
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r13
lea r9, [rbp - 0x48]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x80]
mov word [rbp - 0x80], si
lea rdx, [rbp - 0x1c]
mov word [rbp - 0x48], si
lea rcx, [rbp + 0x60]
call fcn.1412d2ef0
test eax, eax
je 0x1412d6bde
cmp dword [rbp - 0x1c], esi
je 0x1412d5488
cmp ebx, 0xf
mov eax, esi
sete al
lea ebx, [rax + 0xf]
movzx ecx, word [rbp - 0x80]
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
mov r11d, esi
movzx eax, word [rbp - 0x48]
shl ecx, 0x10
or ecx, eax
mov dword [r12 + 4], ecx
add r12, 8
mov edi, dword [rsp + 0x50]
mov qword [rsp + 0x60], r12
lea rax, [r15 - 2]
mov r15, qword [rbp + 0x60]
cmp r15, rax
jae 0x1412d50f1
cmp word [r15], 0x2d
jne 0x1412d50f1
cmp word [r15 + 2], 0x5d
jne 0x1412d6b10
jmp 0x1412d50f1
jb 0x1412d6b1a
test r10d, r10d
jne 0x1412d5501
mov eax, 0x801f0000
cmp dword [r12 - 4], eax
jne 0x1412d5501
mov dword [r12 - 4], 0x801e0000
mov edi, dword [rsp + 0x50]
mov r11d, esi
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x68], esi
jmp 0x1412d50fa
mov edi, dword [rsp + 0x50]
lea r11d, [r10 + 2]
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x68], r11d
jmp 0x1412d50fa
cmp r15, r11
jae 0x1412d6d46
movzx eax, word [r15]
cmp ax, 0x3f
je 0x1412d5a57
cmp ax, 0x2a
je 0x1412d55bf
movzx r14d, word [rbp + 0x68]
mov edi, dword [rsp + 0x50]
inc r14w
mov r13, qword [rbp + 0x78]
mov word [rbp + 0x68], r14w
bt edi, 0xd
jb 0x1412d5598
mov eax, dword [r13 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1412d6c27
inc eax
mov dword [r13 + 0xd4], eax
or eax, 0x80080000
jmp 0x1412d559d
mov eax, 0x801a0000
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1412d41b9
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1412d43a4
movzx eax, word [r15 + 2]
cmp eax, 0x29
je 0x1412d43a4
mov r13, qword [rbp + 0x78]
mov ecx, 0xff
cmp ax, cx
ja 0x1412d584d
mov ecx, eax
mov rax, qword [r13 + 0x20]
test byte [rcx + rax], 4
je 0x1412d584d
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea r12, [0x1400c3c70]
lea rax, [rbp - 0x6c]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x80], rcx
cmp rcx, qword [rsp + 0x58]
jae 0x1412d6b59
cmp word [rcx], 0x3a
jne 0x1412d6b59
mov r14d, dword [rbp - 0x6c]
lea r9, [0x140000000]
mov r13, qword [rbp - 0x38]
xor eax, eax
mov esi, eax
mov dword [rbp - 0x70], ebx
mov r8d, eax
mov ecx, eax
mov edx, eax
nop dword [rax]
movsxd r15, eax
movsxd rax, ebx
cmp r14d, dword [r9 + rax*8 + 0xc3d50]
jne 0x1412d56c0
mov ebx, ecx
mov edi, edx
mov rdx, r12
mov rcx, r13
mov r8, r14
call fcn.14130f6d0
lea r9, [0x140000000]
test eax, eax
je 0x1412d56e6
mov r8d, esi
mov eax, dword [r9 + r15*8 + 0xc3d50]
lea ebx, [r8 + 1]
inc eax
mov dword [rbp - 0x70], ebx
add r12, rax
mov esi, ebx
mov eax, ebx
mov r8d, ebx
mov ecx, ebx
mov edx, ebx
mov edi, ebx
cmp ebx, 0x11
jl 0x1412d5690
cmp ebx, 0x11
jge 0x1412d6b59
movsxd rax, edi
mov ecx, dword [r9 + rax*8 + 0xc3d54]
mov r9d, dword [rbp - 0x68]
test r9d, r9d
jle 0x1412d5714
lea eax, [rcx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x1412d6b32
cmp ecx, 0x80250000
ja 0x1412d576c
je 0x1412d5840
cmp ecx, 0x80020000
je 0x1412d6243
cmp ecx, 0x80220000
je 0x1412d579d
cmp ecx, 0x80230000
je 0x1412d6273
cmp ecx, 0x80240000
jne 0x1412d6b4f
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80240000
jmp 0x1412d6335
mov eax, 0x80260000
cmp ecx, eax
je 0x1412d5840
cmp ecx, 0x80270000
je 0x1412d6291
cmp ecx, 0x80280000
je 0x1412d5840
cmp ecx, 0x8fff0000
jne 0x1412d6b4f
mov r12, qword [rsp + 0x60]
movzx r14d, word [rbp + 0x68]
mov r15, qword [rbp - 0x80]
inc r14w
add r15, 2
mov word [rbp + 0x68], r14w
mov dword [r12], 0x80220000
add r12, 4
mov qword [rsp + 0x60], r12
cmp ecx, 0x8fff0000
jne 0x1412d6a7f
mov rsi, qword [rbp - 0x50]
mov dword [r12], 0x80020000
add r12, 4
mov qword [rsp + 0x60], r12
test rsi, rsi
jne 0x1412d57fd
mov r13, qword [rbp + 0x78]
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1412d5813
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1412d6c5b
mov r13, qword [rbp + 0x78]
mov edi, dword [rsp + 0x50]
mov eax, edi
mov r9, qword [rsp + 0x58]
and eax, 0x10424e8
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rsi + 8], eax
mov word [rsi], r14w
mov word [rsi + 6], 4
xor esi, esi
jmp 0x1412d41b9
mov r15, qword [rbp - 0x80]
sub r15, 2
jmp 0x1412d62f6
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea r12, [0x1400c3bd0]
lea rax, [rbp - 0x6c]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov r15, qword [rbp + 0x60]
mov qword [rbp - 0x80], r15
cmp r15, qword [rsp + 0x58]
jae 0x1412d6c77
movzx eax, word [r15]
cmp ax, 0x3a
je 0x1412d58c0
cmp ax, 0x29
jne 0x1412d6c77
mov r15d, dword [rbp - 0x6c]
lea r9, [0x140000000]
mov r13, qword [rbp - 0x38]
mov edi, ebx
mov dword [rbp - 0x70], ebx
mov ecx, ebx
mov esi, ebx
mov r8d, ebx
mov edx, ebx
mov eax, ebx
nop
movsxd r14, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r15d, dword [r9 + rcx*4 + 0xc3c00]
jne 0x1412d5912
mov ebx, edx
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.14130f6d0
lea r9, [0x140000000]
test eax, eax
je 0x1412d593c
mov r8d, esi
lea edi, [r8 + 1]
lea rax, [r14 + r14*2]
mov dword [rbp - 0x70], edi
mov eax, dword [r9 + rax*4 + 0xc3c00]
mov ecx, edi
inc eax
mov esi, edi
add r12, rax
mov r8d, edi
mov eax, edi
mov edx, edi
mov ebx, edi
cmp edi, 9
jl 0x1412d58e0
mov r15, qword [rbp - 0x80]
cmp ebx, 9
jge 0x1412d6c77
cmp word [r15], 0x3a
jne 0x1412d5963
lea rax, [r15 + 2]
cmp rax, qword [rsp + 0x58]
jae 0x1412d5963
cmp word [rax], 0x29
cmove r15, rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rcx, [rcx*4]
mov edx, dword [rcx + r9 + 0xc3c08]
test edx, edx
jle 0x1412d59f7
cmp word [r15], 0x3a
jne 0x1412d6b63
mov r10, qword [rsp + 0x60]
xor esi, esi
mov ecx, dword [rcx + r9 + 0xc3c04]
mov ebx, esi
add r15, 2
mov qword [rbp - 0x18], r10
cmp ecx, 0x802a0000
lea r8, [r10 + 4]
sete bl
mov dword [rsp + 0x78], ebx
cmp ecx, 0x80290000
mov eax, esi
mov edx, 0x10000
cmovne eax, edx
add eax, ecx
mov r9, qword [rsp + 0x58]
lea r12, [r8 + 4]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r10], eax
mov eax, 1
mov ecx, eax
mov dword [rsp + 0x54], eax
mov qword [rbp - 8], r8
mov qword [rsp + 0x60], r12
mov qword [rbp], r15
jmp 0x1412d41b0
mov r10, qword [rsp + 0x60]
xor esi, esi
movzx eax, word [r15]
mov ebx, esi
mov ecx, dword [rcx + r9 + 0xc3c04]
cmp ecx, 0x802a0000
mov qword [rbp - 0x18], r10
sete bl
lea r8, [r10 + 4]
add r15, 2
mov dword [rsp + 0x78], ebx
cmp ax, 0x3a
jne 0x1412d5a39
test edx, edx
jns 0x1412d59b3
mov dword [rbp - 0x30], ecx
mov eax, 0x80290000
jmp 0x1412d59c5
mov r9, qword [rsp + 0x58]
mov r12, r8
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r10], ecx
mov qword [rsp + 0x60], r8
jmp 0x1412d41ac
add r15, 2
mov qword [rbp + 0x60], r15
mov r8, r15
cmp r15, r11
jae 0x1412d6d46
movzx edx, word [r15]
lea eax, [rdx - 0x21]
cmp eax, 0x31
ja case.0x1412d5a98.46
lea r14, [0x140000000]
cdqe
movzx eax, byte [r14 + rax + 0x12d6eec]
mov ecx, dword [r14 + rax*4 + 0x12d6eb4]
add rcx, r14
jmp rcx
add r15, 2
mov qword [rbp + 0x60], r15
cmp r15, r11
jae 0x1412d6d46
movzx eax, word [r15]
cmp ax, 0x3c
jne 0x1412d5ac0
mov r9d, 0x3e
jmp 0x1412d63ad
cmp ax, 0x3e
je case.0x1412d5a98.34
cmp ax, 0x3d
jne 0x1412d6b6d
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov r9d, 0x29
mov qword [rsp + 0x38], rax
mov rdx, r11
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov dword [r12], 0x80040000
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rbp - 0x58]
mov r15, qword [rbp + 0x60]
mov dword [r12 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 8], eax
mov eax, 1
mov dword [r12 + 0xc], ecx
add r12, 0x10
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1412d4134
xor esi, esi
add r15, 2
mov ecx, esi
mov dword [rbp - 0x70], ecx
cmp r15, r11
jae 0x1412d6b77
cmp word [r15], 0x29
jne 0x1412d6b77
mov r13, qword [rbp + 0x78]
jmp 0x1412d66ac
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1412d6b81
movzx eax, word [r15 + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1412d6b81
sub dx, 0x30
cmp dx, 9
ja 0x1412d6645
mov r13, qword [rbp + 0x78]
mov r8d, 0xffffffff
jmp 0x1412d6650
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov r9d, 0x29
mov qword [rsp + 0x38], rax
mov rdx, r11
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov dword [r12], 0x80210000
jmp 0x1412d5b28
add r15, 2
cmp r15, r11
jae 0x1412d6d46
mov rcx, qword [rsp + 0x70]
dec r9d
mov edi, dword [rsp + 0x50]
mov r8d, 0xff
mov dword [rbp - 0x40], r9d
test rcx, rcx
je 0x1412d5c66
test dil, 4
je 0x1412d5c66
lea rax, [r12 - 0x10]
cmp rcx, rax
jne 0x1412d5c66
cmp dword [r12 - 4], r8d
cmove r12, rcx
movzx ecx, word [r15]
mov qword [rsp + 0x70], r12
mov dword [rbp - 0x44], 1
cmp ecx, 0x29
je 0x1412d5d5b
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x1412d5d5b
mov eax, dword [0x1400e0990]
xor esi, esi
mov dword [rbp - 0x70], esi
mov r10, r15
test eax, eax
je 0x1412d6ba2
mov r9d, esi
mov r8d, ecx
mov edx, esi
cmp ecx, eax
je 0x1412d5cdb
nop
movsxd rax, r9d
lea ecx, [r9 + 1]
mov dword [rbp - 0x70], ecx
mov r9d, ecx
cmp dword [r14 + rax*4 + 0xe0994], ebx
je 0x1412d6ba2
movsxd rax, ecx
movsxd rdx, ecx
cmp r8d, dword [r14 + rax*4 + 0xe0990]
jne 0x1412d5cb0
mov ecx, dword [r14 + rdx*4 + 0xe0968]
test ecx, ecx
je 0x1412d6ba2
mov dword [r12], 0x80070000
add r15, 2
cmp r15, r11
jae 0x1412d6b95
movzx eax, word [r15]
cmp eax, ecx
jne 0x1412d5cf3
add r15, 2
cmp r15, r11
jae 0x1412d5d19
movzx eax, word [r15]
cmp eax, ecx
je 0x1412d5cf3
mov rax, r15
mov ecx, 0xffffffff
sub rax, r10
sar rax, 1
cmp rax, rcx
ja 0x1412d6b8b
mov r13, qword [rbp + 0x78]
mov dword [r12 + 0xc], eax
sub r10, qword [r13 + 0x38]
sar r10, 1
mov rax, r10
mov dword [r12 + 0x14], r10d
shr rax, 0x20
mov dword [r12 + 0x10], eax
add r12, 0x14
mov qword [rbp - 0x58], r10
jmp 0x1412d5da0
xor esi, esi
mov dword [r12], 0x80060000
add r12, 0xc
mov ecx, esi
cmp r15, r11
jae 0x1412d5d98
movzx edx, word [r15]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1412d5d98
lea ecx, [rcx + rcx*4]
add r15, 2
lea ecx, [rcx - 0x18]
lea ecx, [rdx + rcx*2]
cmp ecx, r8d
jg 0x1412d6bac
cmp r15, r11
jb 0x1412d5d70
mov r13, qword [rbp + 0x78]
mov dword [r12], ecx
cmp r15, r11
jae 0x1412d6bb6
cmp word [r15], 0x29
jne 0x1412d6bb6
mov r11, qword [rsp + 0x70]
add r15, 2
mov r9, qword [rsp + 0x58]
mov rax, r15
sub rax, qword [r13 + 0x38]
mov ecx, dword [rsp + 0x54]
sar rax, 1
add r12, 4
mov dword [r11 + 4], eax
mov qword [rsp + 0x60], r12
mov dword [r11 + 8], esi
jmp 0x1412d41b4
add r15, 2
mov qword [rbp + 0x60], r15
cmp r15, r11
jae 0x1412d6d46
movzx r14d, word [rbp + 0x68]
movzx eax, word [r15]
inc r14w
mov word [rbp + 0x68], r14w
cmp ax, 0x3f
je 0x1412d6228
cmp ax, 0x2a
je 0x1412d6228
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x70]
mov r9d, 0xffff
mov qword [rsp + 0x28], rax
mov rdx, r11
mov r8d, dword [r13 + 0xd4]
mov dword [rsp + 0x20], 0xa1
call fcn.1412d8b00
test eax, eax
je 0x1412d5ea1
mov edx, dword [rbp - 0x70]
mov r15, qword [rbp + 0x60]
test edx, edx
jle 0x1412d6bc0
mov dword [r12], 0x80120000
mov rcx, r15
sub rcx, qword [r13 + 0x38]
sar rcx, 1
sub rcx, 2
mov dword [r12 + 0xc], edx
mov rax, rcx
mov dword [r12 + 8], ecx
shr rax, 0x20
mov dword [r12 + 4], eax
add r12, 0xc
mov qword [rbp - 0x58], rcx
jmp 0x1412d61ee
mov edx, dword [rsp + 0x68]
test edx, edx
jne 0x1412d6af6
mov r14, qword [rsp + 0x58]
mov rbx, qword [rbp + 0x60]
mov rdi, r14
sub rdi, rbx
sar rdi, 1
cmp rdi, 0xa
jl 0x1412d6044
mov r8d, 7
lea rdx, [0x1400c42b8]
mov rcx, rbx
call fcn.14130f6d0
test eax, eax
jne 0x1412d6044
cmp word [rbx + 0xe], 0x29
lea r15, [rbx + 0xe]
je 0x1412d6044
xor esi, esi
mov rax, r15
cmp word [r15], 0x3e
mov r11d, esi
mov r10d, esi
mov ebx, 1
jne 0x1412d5f16
add r15, 2
mov r11d, ebx
mov rax, r15
cmp word [r15], 0x3d
jne 0x1412d6bca
lea r15, [rax + 2]
movzx eax, word [rax + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1412d6bca
mov edx, esi
mov ecx, esi
mov dword [rsp + 0x68], edx
mov r9d, esi
cmp r15, r14
jae 0x1412d503c
movzx eax, word [r15]
sub ax, 0x30
cmp ax, 9
ja 0x1412d503c
nop dword [rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1412d5f8d
lea ecx, [rcx + rcx*4]
add r15, 2
lea ecx, [rcx - 0x18]
lea ecx, [r8 + rcx*2]
cmp ecx, 0x3e8
ja 0x1412d6036
cmp r15, r14
jb 0x1412d5f60
mov r9d, ebx
test r9d, r9d
je 0x1412d503c
cmp r15, r14
jae 0x1412d6bca
cmp word [r15], 0x2e
jne 0x1412d6012
add r15, 2
cmp r15, r14
jae 0x1412d6bca
movzx eax, word [r15]
cmp eax, 0x30
jb 0x1412d6bca
cmp eax, 0x39
ja 0x1412d6bca
sub eax, 0x30
add r15, 2
lea r10d, [rax + rax*4]
add r10d, r10d
cmp r15, r14
jae 0x1412d6bca
movzx eax, word [r15]
cmp eax, 0x30
jb 0x1412d6007
cmp eax, 0x39
ja 0x1412d6007
add eax, 0xffffffd0
add r10d, eax
lea rax, [r15 + 2]
mov r15, rax
cmp rax, r14
jae 0x1412d6bca
cmp word [r15], 0x29
jne 0x1412d6bca
movzx r14d, word [rbp + 0x68]
mov dword [r12], 0x80150000
mov dword [r12 + 4], r11d
mov dword [r12 + 8], ecx
add r12, 0xc
mov dword [r12], r10d
jmp 0x1412d61f0
mov edx, 0xb3
mov dword [rsp + 0x68], edx
jmp 0x1412d5f90
xor eax, eax
mov esi, eax
movzx eax, word [rbx]
cmp ax, 0x52
jne 0x1412d6071
cmp rdi, 1
jle 0x1412d6097
cmp word [rbx + 2], 0x26
lea rax, [rbx + 2]
jne 0x1412d6097
mov r15d, 1
mov qword [rbp + 0x60], rax
mov esi, r15d
jmp 0x1412d60a5
cmp ax, 0x3c
jne 0x1412d6084
mov edi, 0x3e
mov r15d, 1
jmp 0x1412d60aa
cmp ax, 0x27
jne 0x1412d6097
mov edi, 0x27
mov r15d, 1
jmp 0x1412d60aa
sub rbx, 2
mov r15d, 1
mov qword [rbp + 0x60], rbx
mov edi, 0x29
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, edi
lea rax, [rbp - 0x6c]
mov rdx, r14
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov r14d, dword [rbp - 0x6c]
test esi, esi
je 0x1412d610c
mov r15, qword [rbp + 0x60]
sub r15, 2
mov dword [r12], 0x80130000
jmp 0x1412d61bb
cmp edi, 0x29
jne 0x1412d61af
mov rbx, qword [rbp - 0x38]
cmp r14d, 6
jne 0x1412d614b
mov r8d, 6
lea rdx, [0x1400c42c0]
mov rcx, rbx
call fcn.14130f6d0
test eax, eax
jne 0x1412d614b
mov eax, 0x80100000
mov dword [r12], eax
mov r15, qword [rbp + 0x60]
sub r15, 2
jmp 0x1412d61bb
mov dword [rbp - 0x70], r15d
mov eax, r15d
cmp r14d, 1
jle 0x1412d618c
mov r9d, r15d
mov r8d, r15d
mov edx, r15d
cdqe
movzx ecx, word [rbx + rax*2]
mov eax, edx
cmp cx, 0x30
jb 0x1412d618c
mov eax, r8d
cmp cx, 0x39
ja 0x1412d618c
lea eax, [r9 + 1]
mov dword [rbp - 0x70], eax
mov r9d, eax
mov r8d, eax
mov edx, eax
cmp eax, r14d
jl 0x1412d6161
cmp word [rbx], 0x52
jne 0x1412d619c
cmp eax, r14d
mov eax, 0x80140000
jge 0x1412d61a1
mov eax, 0x80110000
mov dword [r12], eax
mov r15, qword [rbp + 0x60]
sub r15, 2
jmp 0x1412d61bb
mov r15, qword [rbp + 0x60]
mov dword [r12], 0x80110000
mov eax, dword [r12]
add r12, 4
cmp eax, 0x80100000
je 0x1412d61d2
mov dword [r12], r14d
add r12, 4
mov rcx, qword [rbp - 0x58]
movzx r14d, word [rbp + 0x68]
mov rax, rcx
shr rax, 0x20
mov dword [r12], eax
add r12, 4
mov dword [r12], ecx
xor esi, esi
mov r9, qword [rsp + 0x58]
cmp r15, r9
jae 0x1412d6bd4
cmp word [r15], 0x29
jne 0x1412d6bd4
mov r11, qword [rsp + 0x70]
add r15, 2
mov edi, dword [rsp + 0x50]
add r12, 4
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
jmp 0x1412d41b9
mov r13, qword [rbp + 0x78]
mov r15, r8
mov dword [r12], 0x800f0000
mov dword [rbp - 0x40], 2
jmp 0x1412d698d
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
movzx r14d, word [rbp + 0x68]
mov r13, qword [rbp + 0x78]
inc r14w
mov dword [r12], 0x80020000
add r12, 4
mov word [rbp + 0x68], r14w
add r15, 2
jmp 0x1412d6991
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80230000
jmp 0x1412d6335
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80270000
jmp 0x1412d6335
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1412d5ab5
movzx eax, word [r15 + 2]
cmp ax, 0x3d
je 0x1412d62f1
cmp ax, 0x21
je 0x1412d62de
cmp ax, 0x2a
jne 0x1412d5ab5
cmp ax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x1412d62f6
mov ecx, 0x80250000
mov r10, qword [rsp + 0x60]
lea r12, [r10 + 8]
mov dword [r10], ecx
mov rcx, r15
mov rax, qword [rbp + 0x70]
mov r13, qword [rbp + 0x78]
mov dword [rax], 1
sub rcx, qword [r13 + 0x38]
sar rcx, 1
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x58], rcx
shr rax, 0x20
mov dword [r10 + 4], eax
add r15, 4
mov dword [r12], ecx
movzx r14d, word [rbp + 0x68]
add r12, 4
inc r14w
mov qword [rsp + 0x60], r12
mov word [rbp + 0x68], r14w
test r9d, r9d
jle 0x1412d6996
mov rsi, qword [rbp - 0x50]
test rsi, rsi
jne 0x1412d6368
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1412d637a
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1412d6c5b
mov edi, dword [rsp + 0x50]
mov eax, edi
mov r9, qword [rsp + 0x58]
and eax, 0x10424e8
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rsi + 8], eax
mov word [rsi], r14w
mov word [rsi + 6], 2
xor esi, esi
jmp 0x1412d41b9
mov r9d, 0x27
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov rdx, r11
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1412d8850
test eax, eax
je 0x1412d6bde
mov eax, dword [r13 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1412d6c23
inc word [rbp + 0x68]
inc eax
mov dword [r13 + 0xd4], eax
or eax, 0x80080000
mov dword [r12], eax
add r12, 4
movzx edx, word [r13 + 0xb0]
mov eax, 0x2710
mov qword [rsp + 0x60], r12
cmp dx, ax
jae 0x1412d6c15
mov r14d, dword [rbp - 0x6c]
movzx eax, word [r13 + 0xb2]
lea ecx, [r14 + 2]
cmp ecx, eax
jbe 0x1412d645c
lea eax, [r14 + 2]
mov word [r13 + 0xb2], ax
mov r12, qword [rbp - 0x38]
xor eax, eax
mov dword [rbp - 0x70], eax
mov r15d, ebx
mov rbx, qword [r13 + 0xc0]
mov esi, eax
mov edi, eax
cmp ax, dx
jae 0x1412d64ee
nop dword [rax + rax]
movzx eax, word [rbx + 0xc]
cmp r14d, eax
jne 0x1412d64c7
mov rdx, qword [rbx]
mov r8, r14
mov rcx, r12
call fcn.14130f690
test eax, eax
jne 0x1412d64c7
mov eax, dword [r13 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1412d64ee
test byte [rsp + 0x50], 0x40
je 0x1412d6beb
mov eax, 1
mov word [rbx + 0xe], ax
mov r15d, eax
mov dword [r13 + 0x12c], eax
jmp 0x1412d64d7
mov eax, dword [r13 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1412d6bf9
movzx eax, word [r13 + 0xb0]
inc esi
add rbx, 0x10
mov dword [rbp - 0x70], esi
mov edi, esi
cmp esi, eax
jl 0x1412d6480
movzx eax, word [r13 + 0xb0]
cmp edi, eax
jl 0x1412d65f3
mov ecx, dword [r13 + 0xc8]
cmp eax, ecx
jb 0x1412d657a
mov rax, qword [r13]
lea edi, [rcx + rcx]
mov ecx, edi
shl rcx, 4
mov rdx, qword [rax + 0x10]
mov rax, qword [rax]
call qword [case.0x14120887a.0]
mov rbx, rax
test rax, rax
je 0x1412d6c07
mov r8d, dword [r13 + 0xc8]
mov rcx, rax
mov rdx, qword [r13 + 0xc0]
shl r8, 4
call fcn.141340f00
cmp dword [r13 + 0xc8], 0x14
jbe 0x1412d656c
mov rdx, qword [r13]
mov rcx, qword [r13 + 0xc0]
mov rax, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call qword [case.0x14120887a.0]
mov qword [r13 + 0xc0], rbx
mov dword [r13 + 0xc8], edi
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov qword [rax + rcx*8], r12
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov r12, qword [rsp + 0x60]
mov word [rax + rcx*8 + 0xc], r14w
movzx edx, word [r13 + 0xb0]
mov rcx, qword [r13 + 0xc0]
add rdx, rdx
mov eax, dword [r13 + 0xd4]
mov dword [rcx + rdx*8 + 8], eax
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xe], r15w
inc word [r13 + 0xb0]
mov r15, qword [rbp + 0x60]
jmp 0x1412d4134
mov r12, qword [rsp + 0x60]
mov edi, dword [rsp + 0x50]
xor esi, esi
mov r15, qword [rbp + 0x60]
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
jmp 0x1412d41b4
cmp edx, 0x2d
jne 0x1412d6702
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1412d6702
movzx eax, word [r15 + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1412d6702
mov r13, qword [rbp + 0x78]
mov r8d, dword [r13 + 0xd4]
lea rax, [rsp + 0x68]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x70]
mov rdx, r11
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.1412d8b00
test eax, eax
je 0x1412d6bde
mov ecx, dword [rbp - 0x70]
mov r15, qword [rbp + 0x60]
test ecx, ecx
js 0x1412d6c31
cmp r15, qword [rsp + 0x58]
jae 0x1412d6d46
cmp word [r15], 0x29
jne 0x1412d6d46
xor esi, esi
mov r9, qword [rsp + 0x58]
or ecx, 0x80200000
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r12], ecx
mov rcx, r15
sub rcx, qword [r13 + 0x38]
add r15, 2
sar rcx, 1
mov rax, rcx
mov dword [r12 + 8], ecx
shr rax, 0x20
mov dword [r12 + 4], eax
add r12, 0xc
mov eax, 1
mov qword [rbp - 0x58], rcx
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1412d41b4
movzx r14d, word [rbp + 0x68]
mov rsi, qword [rbp - 0x50]
inc r14w
mov word [rbp + 0x68], r14w
test rsi, rsi
jne 0x1412d6727
mov r13, qword [rbp + 0x78]
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1412d673d
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1412d6c5b
mov r13, qword [rbp + 0x78]
mov word [rsi + 6], bx
mov ebx, dword [rsp + 0x50]
mov eax, ebx
and eax, 0x10424e8
mov word [rsi], r14w
mov dword [rsi + 8], eax
cmp word [r15], 0x7c
jne 0x1412d6798
movzx eax, word [r13 + 0xd4]
mov word [rsi + 2], ax
movzx eax, word [r13 + 0xd4]
mov word [rsi + 4], ax
mov word [rsi + 6], 1
or dword [r13 + 0xd0], 0x200000
mov dword [r12], 0x801a0000
add r12, 4
add r15, 2
jmp 0x1412d6991
xor edi, edi
lea r8, [rbp - 0x28]
mov dword [rsi + 2], edi
mov ecx, edi
mov dword [rbp - 0x24], ecx
mov edx, edi
mov dword [rbp - 0x28], edx
mov r9d, 1
mov r10d, ebx
cmp r15, r11
jae 0x1412d68a2
cmp word [r15], 0x5e
jne 0x1412d67d1
and ebx, 0xfeffdb57
mov r9d, edi
add r15, 2
cmp r15, r11
jae 0x1412d68a2
lea rdx, [0x140000000]
movzx eax, word [r15]
cmp eax, 0x29
je 0x1412d689c
cmp eax, 0x3a
je 0x1412d689c
add r15, 2
lea ecx, [rax - 0x2d]
cmp ecx, 0x4b
ja case.0x1412d681c.53
movsxd rax, ecx
movzx eax, byte [rdx + rax + 0x12d6f44]
mov ecx, dword [rdx + rax*4 + 0x12d6f20]
add rcx, rdx
jmp rcx
test r9d, r9d
je 0x1412d6c3f
lea r8, [rbp - 0x24]
mov r9d, edi
jmp 0x1412d6890
or dword [r8], 0x40
or dword [r13 + 0xd0], 0x400
jmp 0x1412d6890
or dword [r8], 8
jmp 0x1412d6890
or dword [r8], 0x400
jmp 0x1412d6890
or dword [r8], 0x2000
jmp 0x1412d6890
or dword [r8], 0x20
jmp 0x1412d6890
or dword [r8], 0x40000
jmp 0x1412d6890
mov ecx, dword [r8]
mov rax, r15
bts ecx, 7
mov dword [r8], ecx
cmp r15, r11
jae 0x1412d6893
cmp word [r15], 0x78
jne 0x1412d67e1
bts ecx, 0x18
mov dword [r8], ecx
add r15, 2
mov rax, r15
cmp rax, r11
jb 0x1412d67e1
mov edx, dword [rbp - 0x28]
mov ecx, dword [rbp - 0x24]
mov eax, edx
and eax, 0x1000080
cmp eax, 0x80
je 0x1412d68b4
test cl, cl
jns 0x1412d68b8
bts ecx, 0x18
or ebx, edx
not ecx
and ebx, ecx
mov dword [rsp + 0x50], ebx
cmp r15, r11
jae 0x1412d6d46
movzx eax, word [r15]
add r15, 2
cmp ax, 0x29
jne 0x1412d6904
mov eax, 0xffff
add r14w, ax
mov word [rbp + 0x68], r14w
cmp rsi, qword [r13 + 0x28]
jbe 0x1412d68fe
cmp word [rsi - 0xc], r14w
lea rax, [rsi - 0xc]
jne 0x1412d68fe
mov qword [rbp - 0x50], rax
jmp 0x1412d6915
mov word [rsi], r14w
jmp 0x1412d6915
mov dword [r12], 0x801a0000
add r12, 4
mov qword [rsp + 0x60], r12
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
cmp ebx, r10d
je 0x1412d6942
mov dword [r12], 0x801b0000
mov dword [r12 + 4], ebx
add r12, 8
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1412d41b9
mov rsi, qword [rbp - 0x50]
movzx r14d, word [rbp + 0x68]
mov r13, qword [rbp + 0x78]
test rsi, rsi
je 0x1412d6985
cmp word [rsi], r14w
jne 0x1412d6985
test byte [rsi + 6], 1
je 0x1412d6985
movzx eax, word [rsi + 4]
mov ecx, dword [r13 + 0xd4]
cmp ecx, eax
jbe 0x1412d697a
mov word [rsi + 4], cx
movzx eax, word [rsi + 2]
mov dword [r13 + 0xd4], eax
mov dword [r12], 0x80010000
add r12, 4
mov qword [rsp + 0x60], r12
mov edi, dword [rsp + 0x50]
xor esi, esi
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
jmp 0x1412d41b9
mov rsi, qword [rbp - 0x50]
mov eax, 1
movzx r14d, word [rbp + 0x68]
mov dword [rsp + 0x78], eax
test rsi, rsi
je 0x1412d6a39
cmp word [rsi], r14w
jne 0x1412d6a39
mov ebx, dword [rsp + 0x50]
mov r13, qword [rbp + 0x78]
and ebx, 0xfefbdb17
or ebx, dword [rsi + 8]
mov dword [rsp + 0x50], ebx
test byte [rsi + 6], al
je 0x1412d69fa
movzx eax, word [rsi + 4]
cmp eax, dword [r13 + 0xd4]
jbe 0x1412d69fa
mov dword [r13 + 0xd4], eax
movzx eax, word [rsi + 6]
movzx edi, ax
not di
shr edi, 1
and edi, 1
mov dword [rsp + 0x78], edi
test al, 4
je 0x1412d6a1d
mov dword [r12], 0x80190000
add r12, 4
cmp rsi, qword [r13 + 0x28]
jne 0x1412d6a2b
xor esi, esi
mov qword [rbp - 0x50], rsi
jmp 0x1412d6a3f
sub rsi, 0xc
mov dword [rsp + 0x78], edi
mov qword [rbp - 0x50], rsi
jmp 0x1412d6a3d
mov r13, qword [rbp + 0x78]
xor esi, esi
test r14w, r14w
je 0x1412d6c65
mov r9, qword [rsp + 0x58]
mov eax, 0xffff
mov r11, qword [rsp + 0x70]
add r14w, ax
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
mov dword [r12], 0x80190000
add r12, 4
mov qword [rsp + 0x60], r12
mov word [rbp + 0x68], r14w
jmp 0x1412d41b9
mov r13, qword [rbp + 0x78]
jmp 0x1412d6996
mov edx, 0x8c
jmp 0x1412d503c
sub r15, 2
mov edx, 0xb0
jmp 0x1412d503c
mov edx, 0x76
jmp 0x1412d503c
mov edx, 0x6d
sub r15, 2
jmp 0x1412d503c
movzx eax, word [r15]
mov edx, ebx
sub r15, 2
cmp ax, 0x3a
setne dl
add edx, 0x70
jmp 0x1412d503c
mov edx, 0x71
sub r15, 2
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0x6b
sub r15, 2
jmp 0x1412d503c
mov edx, 0xab
mov r15, qword [rbp + 0x60]
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0x96
jmp 0x1412d503c
mov r15, rcx
mov edx, 0x96
jmp 0x1412d503c
mov edx, 0x6c
sub r15, 2
jmp 0x1412d503c
mov edx, 0x6a
jmp 0x1412d503c
lea eax, [rcx + 0x7fd90000]
mov edx, CreateErrorInfo
test eax, 0xfffeffff
mov eax, 0x80
cmovne edx, eax
jmp 0x1412d5038
mov edx, 0xbd
jmp 0x1412d5038
mov edx, 0xc3
jmp 0x1412d5038
mov edx, 0xa6
jmp 0x1412d503c
mov edx, 0x8d
jmp 0x1412d503c
mov edx, 0x9e
jmp 0x1412d503c
mov edx, 0x81
jmp 0x1412d503c
mov edx, 0xac
jmp 0x1412d503c
mov edx, 0xb5
mov r15, r10
jmp 0x1412d503c
mov edx, 0xb6
jmp 0x1412d503c
mov edx, 0x8a
jmp 0x1412d503c
mov edx, 0x8b
jmp 0x1412d503c
mov edx, 0x73
jmp 0x1412d503c
mov edx, 0xb3
jmp 0x1412d503c
mov edx, 0x7c
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, dword [rsp + 0x68]
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0x8f
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0xa5
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0x79
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, 0x95
jmp 0x1412d503c
mov r15, qword [rbp + 0x60]
mov edx, CreateErrorInfo
jmp 0x1412d503c
mov edx, 0x73
sub r15, 2
jmp 0x1412d503c
mov edx, 0xc2
add r15, 0xfffffffffffffffe
jmp 0x1412d503c
mov edx, 0x6f
add r15, 0xfffffffffffffffe
jmp 0x1412d503c
mov edx, 0xb8
jmp 0x1412d503c
mov edx, 0x7a
sub r15, 2
jmp 0x1412d503c
test ecx, ecx
je 0x1412d6c8b
mov edx, 0xa0
jmp 0x1412d503c
mov edx, 0x77
jmp 0x1412d503c
mov r9d, dword [rbp - 0x2c]
mov rbx, qword [rbp + 8]
xor edi, edi
mov edx, dword [rbp - 0x3c]
mov r8d, 0xff
mov rcx, r12
test r11, r11
je 0x1412d6cb8
mov rax, r15
sub rax, qword [r13 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
test r9d, r9d
je 0x1412d6cfa
test r11, r11
je 0x1412d6cd2
lea rax, [r12 - 0x10]
cmp r11, rax
jne 0x1412d6cd2
cmp dword [r11 + 0xc], r8d
je 0x1412d6cec
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], edi
mov dword [r12 + 0xc], r8d
mov rax, r15
sub rax, qword [r13 + 0x38]
sar rax, 1
mov dword [r11 + 4], eax
test dl, 8
je 0x1412d6d0e
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80160000
jmp 0x1412d6d20
test dl, 4
je 0x1412d6d24
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80180005
add rcx, 8
cmp rcx, rbx
jb 0x1412d6d33
mov edx, 0xa3
jmp 0x1412d503c
mov dword [rcx], 0x80000000
test r14w, r14w
jne 0x1412d6d46
xor eax, eax
jmp 0x1412d5050
mov edx, 0x72
jmp 0x1412d503c