Function at 0x140116fb0
Capabilities:
Parse credit card information

Disassembly:
xor eax, eax
mov dword [rdx + 0x10], eax
mov qword [rdx + 8], rax
mov qword [rdx], rax
cmp byte [rcx + 0xa0], al
je 0x140116fd0
mov word [rdx + 0x12], 1
mov byte [rcx + 0xa0], al
cmp byte [rcx + 0xa2], al
je 0x140116fe3
or word [rdx + 0x12], 2
mov byte [rcx + 0xa2], al
cmp byte [rcx + 0xa3], al
je 0x140116ff6
or word [rdx + 0x12], 0x10
mov byte [rcx + 0xa3], al
movzx r8d, byte [rcx + 0xa1]
mov byte [rcx + 0xa1], al
jmp 0x1401188b0
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1402a0480]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r12d, r12d
mov qword [rsp + 0x188], r15
mov rsi, rdx
mov byte [rsp + 0x38], r8b
mov rdi, rcx
lea r14, [0x140000000]
lea r13d, [r12 + 1]
mov r8d, 0xfffd
nop dword [rax]
mov rbx, qword [rdi + 0x98]
mov qword [rsp + 0x30], rbx
movzx eax, byte [rbx]
test byte [r14 + rax*2 + 0x24aa30], 5
je 0x14011894f
nop word [rax + rax]
inc rbx
mov qword [rsp + 0x30], rbx
movzx eax, byte [rbx]
test byte [r14 + rax*2 + 0x24aa30], 5
jne 0x140118920
cmp byte [rdi + 0x92], r13b
ja 0x1401190df
mov qword [rdi + 0x98], rbx
or word [rsi + 0x12], 2
movzx edx, byte [rbx]
cmp dl, 0x3f
je 0x140118961
cmp dl, 0x5c
je 0x140118961
inc rbx
jmp 0x140118985
mov r9, rsi
lea rdx, [rbp - 0x68]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rbp - 0x64]
mov r8d, 0xfffd
add rbx, qword [rsp + 0x30]
movzx edx, byte [rbp - 0x68]
movzx eax, dl
mov qword [rsp + 0x30], rbx
movzx ecx, byte [r14 + rax*2 + 0x24aa30]
shr cl, 1
test r13b, cl
jne 0x1401189a4
mov qword [rdi + 0xa8], r12
movsx rax, dl
cmp eax, 0x7e
ja case.0x1401189c5.41
movzx eax, byte [r14 + rax + 0x11ab24]
mov ecx, dword [r14 + rax*4 + 0x11aa7c]
add rcx, r14
jmp rcx
lea r14, [rbx - 1]
mov rcx, rdi
cmp r14, qword [rdi + 0x78]
je 0x14011913f
mov rdx, r14
call fcn.14011dfe0
test al, al
jne 0x140119110
cmp byte [rdi + 0x1a], al
jne 0x140118a34
mov r9d, 0x4c4
lea rdx, [rsp + 0x60]
mov r8, r14
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x140118a25
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
or word [rsi + 0x12], 2
lea r9, [rsp + 0x38]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14011bfe0
test al, al
jne 0x140118c4b
jmp 0x140118d4c
cmp byte [rbx], 0xa
jne case.0x1401189c5.2
inc rbx
mov qword [rsp + 0x30], rbx
cmp byte [rdi + 0x18], 0
jne 0x14011914f
and word [rsi + 0x12], r8w
lea r9, [rsp + 0x38]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14011bfe0
test al, al
jne 0x140118c4b
mov eax, 0xfff7
and word [rsi + 0x12], ax
jmp 0x1401188f7
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140118aae
cmp al, 0x5c
je 0x140118aae
mov r14d, r13d
jmp 0x140118acd
xor r9d, r9d
lea rdx, [rbp - 0x60]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x60]
mov r14d, dword [rbp - 0x5c]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2f
jne 0x140118b83
cmp byte [rdi + 0x90], 0
je 0x140118af6
mov rax, qword [rdi + 0x88]
test dword [rax], 0x200
jne 0x140118b3e
test dword [rax + 0xc], 0x40000
je 0x140118b3e
mov rax, qword [rdi + 8]
test rax, rax
je 0x140118b0c
test byte [rax + 0x221], 2
jne 0x1401191c9
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x140118b1e
cmp al, 0x5c
jne 0x140118b36
xor r9d, r9d
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x70]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2a
je 0x1401191c9
cmp r14d, r13d
jne 0x140118b49
lea r8, [rbx + 1]
jmp 0x140118b62
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
lea r9, [rsp + 0x38]
mov rdx, rsi
mov rcx, rdi
call fcn.14011bb90
test al, al
jne 0x140118c4b
lea r14, [0x140000000]
jmp 0x140118bf0
cmp al, 0x2a
jne 0x140119181
cmp r14d, r13d
jne 0x140118b96
lea r8, [rbx + 1]
jmp 0x140118bb0
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
lea r9, [rsp + 0x38]
mov rdx, rsi
mov rcx, rdi
call fcn.14011b5a0
test al, al
jne 0x140118c4b
jmp 0x140118d4c
or word [rsi + 0x12], 2
lea r9, [rsp + 0x38]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14011bfe0
test al, al
jne 0x140118c4b
nop dword [rax]
mov rbx, qword [rdi + 0x98]
mov qword [rsp + 0x30], rbx
movzx ecx, byte [rbx]
cmp cl, 0x2f
jne 0x140118c77
cmp byte [rbx + 1], cl
jne 0x140118c52
cmp byte [rdi + 0x92], 0
ja 0x140118c52
cmp byte [rdi + 0x90], 0
je 0x140118c52
mov rax, qword [rdi + 0x88]
test dword [rax], 0x200
jne 0x140118c33
test dword [rax + 0xc], 0x40000
jne 0x140118c52
lea r8, [rbx + 2]
mov rdx, rsi
lea r9, [rsp + 0x38]
mov rcx, rdi
call fcn.14011bb90
test al, al
je 0x140118bf0
mov al, 1
jmp 0x14011aa55
cmp byte [rbx + 1], 0x2a
jne 0x140118c77
cmp byte [rdi + 0x92], 0
ja 0x140118c77
lea r8, [rbx + 2]
mov rdx, rsi
lea r9, [rsp + 0x38]
mov rcx, rdi
call fcn.14011b5a0
jmp 0x140118c47
test byte [r14 + rcx*2 + 0x24aa30], 5
jne case.0x1401189c5.1
mov eax, 0xfff7
and word [rsi + 0x12], ax
jmp 0x1401188f7
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140118ca4
cmp al, 0x5c
je 0x140118ca4
mov r15d, r13d
jmp 0x140118cc3
xor r9d, r9d
lea rdx, [rbp - 0x58]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x58]
mov r15d, dword [rbp - 0x54]
mov rbx, qword [rsp + 0x30]
cmp byte [rdi + 0x19], 0
jne 0x140119685
cmp al, 0x3c
jne 0x140119284
mov r8d, r15d
add r8, rbx
movzx r14d, byte [r8]
cmp r14b, 0x3f
je 0x140118cf0
cmp r14b, 0x5c
je 0x140118cf0
mov r12d, r13d
jmp 0x140118d0d
xor r9d, r9d
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.14011d040
mov r12d, dword [rbp - 0x4c]
movzx r14d, byte [rbp - 0x50]
mov rbx, qword [rsp + 0x30]
cmp r14b, 0x3d
je 0x140119242
cmp r14b, 0x3c
jne 0x1401191d9
lea rdx, [rbx - 1]
mov rcx, rdi
call fcn.140116e50
test al, al
jne 0x140118d49
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
dec rdx
call fcn.140116d00
test al, al
je 0x1401191d4
xor r12d, r12d
lea r14, [0x140000000]
mov eax, 0xfff7
and word [rsi + 0x12], ax
jmp 0x1401188f7
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140118d71
cmp al, 0x5c
je 0x140118d71
mov r15d, r13d
jmp 0x140118d90
xor r9d, r9d
lea rdx, [rbp - 0x48]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x48]
mov r15d, dword [rbp - 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3d
je 0x140119770
cmp al, 0x3e
jne 0x140119765
mov r8d, r15d
add r8, rbx
movzx r14d, byte [r8]
cmp r14b, 0x3f
je 0x140118dbb
cmp r14b, 0x5c
je 0x140118dbb
mov r12d, r13d
jmp 0x140118dd8
xor r9d, r9d
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.14011d040
mov r12d, dword [rbp - 0x3c]
movzx r14d, byte [rbp - 0x40]
mov rbx, qword [rsp + 0x30]
cmp r14b, 0x3d
je 0x1401196ff
cmp r14b, 0x3e
jne 0x140118e19
lea rdx, [rbx - 1]
mov rcx, rdi
call fcn.140116e50
test al, al
jne 0x140118d49
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
dec rdx
call fcn.140116d00
test al, al
jne 0x140118d49
mov rbx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x88]
test byte [rax + 0x38], 0x10
je 0x1401196ba
cmp r14b, 0x3e
jne 0x1401196ba
mov r14d, 0x4a
cmp r15d, r13d
jne 0x140119698
lea r15, [rbx + 1]
cmp r12d, r13d
jmp 0x14011a1ca
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140118e5f
cmp al, 0x5c
je 0x140118e5f
mov r15d, r13d
jmp 0x140118e7e
xor r9d, r9d
lea rdx, [rbp - 0x38]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x38]
mov r15d, dword [rbp - 0x34]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3d
je 0x1401197bf
cmp al, 0x7c
jne 0x1401197b4
cmp byte [rbx + 1], al
jne 0x140118eac
lea rdx, [rbx - 1]
mov rcx, rdi
call fcn.140116d00
test al, al
jne 0x140118d53
mov rbx, qword [rsp + 0x30]
mov r14d, 0x3a
mov r13, rbx
cmp r15d, 1
je 0x14011a257
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r13
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140118ef2
cmp al, 0x5c
je 0x140118ef2
mov r12d, r13d
jmp 0x140118f11
xor r9d, r9d
lea rdx, [rbp - 0x30]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x30]
mov r12d, dword [rbp - 0x2c]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3d
jne 0x140119803
cmp byte [rbx + 1], al
jne 0x1401197e4
lea rdx, [rbx - 1]
mov rcx, rdi
call fcn.140116d00
test al, al
je 0x1401197df
xor r12d, r12d
mov eax, 0xfff7
and word [rsi + 0x12], ax
jmp 0x1401188f7
mov rax, qword [rdi + 0x88]
cmp dword [rax], 0
jl 0x14011aa18
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x30]
mov r9, rsi
mov rcx, rdi
call fcn.140120410
mov ebx, eax
test eax, eax
je 0x140119820
mov r9, qword [rsp + 0x30]
mov r8d, eax
mov rdx, rsi
mov rcx, rdi
call fcn.1401162a0
mov rdx, rsi
mov rcx, rdi
test al, al
je 0x14011980e
mov r8, qword [rsp + 0x30]
lea r9, [rsp + 0x38]
call fcn.14011bfe0
test al, al
jne 0x140118c4b
mov eax, 0xfff7
and word [rsi + 0x12], ax
jmp 0x1401188f7
cmp dl, 0x7f
jbe 0x14011aa18
mov r14, qword [rdi + 0x78]
lea rax, [rbx - 1]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x40], rcx
mov rbx, rax
cmp rax, r14
je 0x140119064
movzx ecx, byte [rax]
call fcn.1400617a0
mov rbx, qword [rsp + 0x30]
sub r14, rbx
mov ecx, eax
cmp rcx, r14
jg 0x140119064
mov r9, qword [rsp + 0x40]
lea rdx, [rcx + rbx]
add r9, 4
mov dword [rsp + 0x20], r12d
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140061480
test eax, eax
jne 0x14011905f
mov r9, qword [rsp + 0x30]
mov rdx, rsi
mov r8d, dword [rbp - 0x78]
mov rcx, rdi
call fcn.1401162a0
mov rdx, rsi
mov rcx, rdi
test al, al
je 0x14011aa00
mov r8, qword [rsp + 0x30]
lea r9, [rsp + 0x38]
call fcn.14011bfe0
test al, al
jne 0x140118c4b
jmp 0x140118d4c
mov rbx, qword [rsp + 0x30]
cmp byte [rdi + 0x1a], 0
jne 0x14011aa10
cmp byte [rdi + 0x18], 0
jne 0x14011aa10
mov rax, qword [rdi + 8]
test byte [rax + 0x221], 2
jne 0x14011aa10
mov r9d, 0x3e9
lea rdx, [rsp + 0x60]
mov r8, rbx
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x1401190c1
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rdi + 0x98], rax
jmp 0x140118d4c
mov r9d, ebx
lea rdx, [rbp - 0x78]
sub r9d, dword [rdi + 0x98]
mov rcx, rdi
mov dword [rsi + 4], r9d
mov r8, qword [rdi + 0x98]
call fcn.14011d640
mov ecx, dword [rax]
movzx eax, r13b
mov word [rsi + 0x10], r12w
jmp 0x14011aa4c
mov r9d, 3
mov dword [rsi + 0x10], 0
mov r8, rbx
mov qword [rsi + 8], r12
mov rdx, rsi
mov qword [rsi], 0
mov rcx, rdi
call fcn.140116b40
movzx eax, r13b
jmp 0x14011aa55
mov r8, r14
mov rdx, rsi
call fcn.140117920
jmp 0x14011aa55
cmp qword [rdi + 8], 0
mov byte [rdi + 0x18], 0
je 0x140119162
mov rcx, rdi
call fcn.14011efd0
lea rax, [rbx - 1]
mov word [rdi + 0xa0], 0x101
mov qword [rdi + 0xa8], rax
mov r14d, 2
jmp 0x14011aa1c
cmp al, 0x3d
jne 0x1401191c9
mov r15, rbx
cmp r14d, r13d
jne 0x1401191a0
inc rbx
mov r14d, 0x2b
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, 0x2b
mov ebx, dword [rax + 4]
add rbx, r15
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x2a
jmp 0x14011aa1c
mov rbx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x88]
test byte [rax + 0x38], 0x10
je 0x1401191fd
cmp r14b, 0x3c
jne 0x1401191fd
mov r14d, 0x49
cmp r15d, r13d
jne 0x140119253
lea r15, [rbx + 1]
jmp 0x14011926d
mov r14, rbx
cmp r15d, r13d
jne 0x140119219
lea rbx, [rbx + 1]
mov r14d, 0x2f
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x2f
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x31
cmp r15d, r13d
jne 0x140119253
lea r15, [rbx + 1]
jmp 0x14011926d
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r15d, dword [rax + 4]
add r15, rbx
cmp r12d, r13d
jne 0x14011a1da
lea rbx, [r15 + 1]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp al, 0x3d
jne 0x1401194d8
mov r8d, r15d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x1401192a3
cmp al, 0x5c
je 0x1401192a3
mov r12d, r13d
jmp 0x1401192c2
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r12d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3e
jne 0x140119494
mov rax, qword [rdi + 0x88]
mov ecx, dword [rax]
bt ecx, 0xd
jae 0x140119394
cmp byte [rdi + 0x1a], 0
jne 0x14011932e
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x60]
mov r9d, 0x4ef
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x14011931f
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x78], bx
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
cmp r15d, r13d
jne 0x140119339
lea r14, [rbx + 1]
jmp 0x140119353
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r12d, r13d
jne 0x14011936c
lea rbx, [r14 + 1]
mov r14d, 0x32
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x32
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
bt ecx, 9
jae 0x140119494
cmp byte [rdi + 0x1a], 0
jne 0x140119494
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x60]
mov r9d, 0x4f1
mov rcx, rdi
call fcn.1401169a0
mov rbx, rax
mov r8d, r15d
add r8, qword [rsp + 0x30]
lea rax, [0x1401a7200]
mov r9d, r12d
mov qword [rsp + 0x50], rax
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x58], r13
mov rcx, rdi
call fcn.14011d640
movaps xmm0, xmmword [rsp + 0x50]
lea r8, [rsp + 0x50]
xor r9d, r9d
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp - 0x20]
mov edx, dword [rax]
call fcn.1401163c0
mov rdx, rax
mov rcx, rbx
call fcn.140115a30
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140119454
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011944f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14011944f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140183f7c
xor ebx, ebx
mov eax, 0xf
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], rax
mov byte [rbp - 8], bl
cmp byte [rsp + 0x78], bl
je 0x140119485
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x78], bx
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
mov r14, rbx
cmp r15d, r13d
jne 0x1401194af
inc rbx
mov r14d, 0x30
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x30
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov rcx, qword [rdi + 0x88]
test byte [rcx + 0xc], 2
je 0x140119656
cmp al, 0x3a
jne 0x14011960e
test dword [rcx], 0x400
je 0x1401195cb
mov r14d, r15d
movzx eax, byte [r14 + rbx]
lea r8, [r14 + rbx]
cmp al, 0x3f
je 0x140119511
cmp al, 0x5c
jne 0x140119530
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3a
jne 0x1401195cb
mov r8d, r13d
add r8, r14
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x14011954d
cmp al, 0x5c
jne 0x140119565
xor r9d, r9d
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rbp - 0x70]
mov rbx, qword [rsp + 0x30]
sub al, 0x3a
test al, 0xfb
je 0x1401195cb
cmp byte [rdi + 0x1a], 0
mov r14d, 0x2e
jne 0x14011aa1c
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x60]
mov r9d, 0x4f7
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x1401195b7
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
jmp 0x14011aa1c
mov r14, rbx
cmp r15d, 1
jne 0x1401195e5
inc rbx
lea r14d, [r15 + 0x12]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov qword [rsp + 0x30], rbx
mov r14d, 0x13
jmp 0x14011aa1c
cmp al, 0x25
jne 0x140119656
mov r14, rbx
cmp r15d, r13d
jne 0x14011962d
inc rbx
mov r14d, 0x17
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov qword [rsp + 0x30], rbx
mov r14d, 0x17
jmp 0x14011aa1c
cmp al, 0x23
jne 0x14011967a
cmp r15d, r13d
jne 0x14011967a
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14011e550
test al, al
jne 0x140118c4b
mov rbx, qword [rsp + 0x30]
mov r14d, 0x2e
jmp 0x14011aa1c
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140117010
jmp 0x14011aa55
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r15d, dword [rax + 4]
add r15, rbx
cmp r12d, r13d
jmp 0x14011a1ca
mov r14, rbx
cmp r15d, r13d
jne 0x1401196d6
lea rbx, [rbx + 1]
mov r14d, 0x34
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x34
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp r15d, r13d
jne 0x14011970a
lea r14, [rbx + 1]
jmp 0x140119724
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r12d, r13d
jne 0x14011973d
lea rbx, [r14 + 1]
mov r14d, 0x36
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x36
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x33
jmp 0x14011aa1c
mov r14, rbx
cmp r15d, r13d
jne 0x14011978b
inc rbx
mov r14d, 0x35
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x35
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x39
jmp 0x14011aa1c
mov r14d, 0x3b
mov r13, rbx
cmp r15d, 1
jne 0x140118ebf
inc rbx
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov rbx, qword [rsp + 0x30]
mov r14d, 0x40
mov r15, rbx
cmp r12d, r13d
je 0x14011a257
mov r8, rbx
lea rdx, [rsp + 0x50]
jmp 0x14011a1e1
mov r14d, 0x3f
jmp 0x14011aa1c
mov r9, qword [rsp + 0x30]
mov r8d, ebx
call fcn.14011b000
jmp 0x14011aa55
mov rbx, qword [rsp + 0x30]
jmp 0x14011aa18
mov rax, qword [rdi + 0x88]
test byte [rax], 0x40
je 0x14011aa18
cmp byte [rdi + 0x1a], 0
jne 0x140119888
lea r8, [rbx - 1]
mov r9d, 0x482
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x140119879
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
lea r8, [rbx - 1]
mov rdx, rsi
mov rcx, rdi
call fcn.140117920
jmp 0x14011aa55
mov r8, rbx
mov word [rdi + 0x20], r13w
mov rdx, rsi
mov rcx, rdi
call fcn.140117f30
jmp 0x14011aa55
mov word [rdi + 0x20], r13w
mov rax, qword [rdi + 0x88]
test dword [rax], 0x402
je 0x140119fa2
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x1401198dc
cmp al, 0x5c
je 0x1401198dc
mov r14d, r13d
jmp 0x1401198fe
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x14011993d
cmp r14d, r13d
jne 0x14011990d
lea r8, [rbx + 1]
jmp 0x140119927
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0x11
mov rdx, rsi
mov rcx, rdi
call fcn.140118580
jmp 0x14011aa55
cmp al, 0x27
jne 0x14011997c
cmp r14d, r13d
jne 0x14011994c
lea r8, [rbx + 1]
jmp 0x140119966
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0xb
mov rdx, rsi
mov rcx, rdi
call fcn.140117270
jmp 0x14011aa55
cmp al, 0x52
jne 0x140119a31
mov rax, qword [rdi + 0x88]
test dword [rax], 0x400
je 0x140119fa2
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x1401199a9
cmp al, 0x5c
jne 0x1401199c8
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119fa2
cmp r14d, 1
jne 0x1401199dc
lea r14, [rbx + 1]
jmp 0x1401199f6
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r13d, 1
jne 0x140119a02
lea r8, [r14 + 1]
jmp 0x140119a1b
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, r14
mov r9d, 0x11
mov rdx, rsi
mov rcx, rdi
call fcn.1401182b0
jmp 0x14011aa55
cmp al, 0x38
jne 0x140119fa2
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x140119a50
cmp al, 0x5c
je 0x140119a50
mov r15d, r13d
jmp 0x140119a6f
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119ad2
cmp r14d, r13d
jne 0x140119a7e
lea r14, [rbx + 1]
jmp 0x140119a98
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r15d, r13d
jne 0x140119aa3
lea r8, [r14 + 1]
jmp 0x140119abc
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, r14
mov r9d, 0x10
mov rdx, rsi
mov rcx, rdi
call fcn.140118580
jmp 0x14011aa55
cmp al, 0x27
jne 0x140119b48
mov rax, qword [rdi + 0x88]
test dword [rax], 0x1008
je 0x140119fa2
cmp r14d, r13d
jne 0x140119af4
lea r14, [rbx + 1]
jmp 0x140119b0e
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r15d, r13d
jne 0x140119b19
lea r8, [r14 + 1]
jmp 0x140119b32
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, r14
mov r9d, 0xa
mov rdx, rsi
mov rcx, rdi
call fcn.140117270
jmp 0x14011aa55
cmp al, 0x52
jne 0x140119fa2
mov rax, qword [rdi + 0x88]
test dword [rax], 0x400
je 0x140119fa2
mov eax, r15d
add rax, rbx
mov r8d, r14d
add r8, rax
movzx eax, byte [r8]
cmp al, 0x3f
je 0x140119b7b
cmp al, 0x5c
jne 0x140119b9a
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119fa2
cmp r14d, 1
jne 0x140119bae
lea r14, [rbx + 1]
jmp 0x140119bc8
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r15d, 1
jne 0x140119bd4
lea rbx, [r14 + 1]
jmp 0x140119bec
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
cmp r13d, 1
jne 0x140119bf8
lea r8, [rbx + 1]
jmp 0x140119c11
mov r9, rsi
lea rdx, [rbp - 0x70]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0x10
mov rdx, rsi
mov rcx, rdi
call fcn.1401182b0
jmp 0x14011aa55
mov word [rdi + 0x20], r13w
mov rax, qword [rdi + 0x88]
test dword [rax], 0x402
je 0x140119fa2
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140119c4f
cmp al, 0x5c
je 0x140119c4f
mov r14d, r13d
jmp 0x140119c71
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119cb0
cmp r14d, r13d
jne 0x140119c80
lea r8, [rbx + 1]
jmp 0x140119c9a
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0x12
mov rdx, rsi
mov rcx, rdi
call fcn.140118580
jmp 0x14011aa55
cmp al, 0x27
jne 0x140119cef
cmp r14d, r13d
jne 0x140119cbf
lea r8, [rbx + 1]
jmp 0x140119cd9
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0xc
mov rdx, rsi
mov rcx, rdi
call fcn.140117270
jmp 0x14011aa55
cmp al, 0x52
jne 0x140119fa2
mov rax, qword [rdi + 0x88]
test dword [rax], 0x400
je 0x140119fa2
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x140119d1c
cmp al, 0x5c
jne 0x140119d3b
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119fa2
cmp r14d, 1
jne 0x140119d4f
lea r14, [rbx + 1]
jmp 0x140119d69
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r13d, 1
jne 0x140119d75
lea r8, [r14 + 1]
jmp 0x140119d8e
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, r14
mov r9d, 0x12
mov rdx, rsi
mov rcx, rdi
call fcn.1401182b0
jmp 0x14011aa55
mov word [rdi + 0x20], r13w
mov rax, qword [rdi + 0x88]
test dword [rax], 0x400
je 0x140119fa2
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x140119dc7
cmp al, 0x5c
jne 0x140119de9
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne 0x140119fa2
cmp r13d, 1
jne 0x140119dfd
lea r8, [rbx + 1]
jmp 0x140119e17
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0xd
mov rdx, rsi
mov rcx, rdi
call fcn.1401182b0
jmp 0x14011aa55
mov word [rdi + 0x20], r13w
movzx ecx, byte [rbx]
cmp cl, 0x3f
je 0x140119e44
cmp cl, 0x5c
je 0x140119e44
mov r14d, r13d
jmp 0x140119e66
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx ecx, byte [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp cl, 0x22
jne 0x140119ea6
cmp r14d, r13d
jne 0x140119e76
lea r8, [rbx + 1]
jmp 0x140119e90
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 0xe
mov rdx, rsi
mov rcx, rdi
call fcn.140118580
jmp 0x14011aa55
mov rax, qword [rdi + 0x88]
test dword [rax], 0x400
je 0x140119f5c
cmp cl, 0x52
jne 0x140119f5c
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x140119ed4
cmp al, 0x5c
jne 0x140119ef3
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x22
jne case.0x1401189c5.28
cmp r14d, 1
jne 0x140119f07
lea r14, [rbx + 1]
jmp 0x140119f21
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r13d, 1
jne 0x140119f2d
lea r8, [r14 + 1]
jmp 0x140119f46
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, r14
mov r9d, 0xe
mov rdx, rsi
mov rcx, rdi
call fcn.1401182b0
jmp 0x14011aa55
cmp cl, 0x27
jne case.0x1401189c5.28
cmp r14d, r13d
jne 0x140119f6c
lea r8, [rbx + 1]
jmp 0x140119f86
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rax + 4]
add r8, rbx
mov r9d, 9
mov rdx, rsi
mov rcx, rdi
call fcn.140117270
jmp 0x14011aa55
mov word [rdi + 0x20], 1
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140117cf0
jmp 0x14011aa55
mov rax, qword [rdi + 0x88]
test dword [rax], 0x40000000
je 0x14011aa18
cmp byte [rdi + 0x1a], 0
jne 0x14011a016
lea r8, [rbx - 1]
mov r9d, 0x485
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x14011a007
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
mov r8, rbx
mov word [rdi + 0x20], r13w
mov rdx, rsi
mov rcx, rdi
call fcn.140117cf0
jmp 0x14011aa55
mov r9d, 8
mov word [rdi + 0x20], r13w
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140117270
jmp 0x14011aa55
mov word [rdi + 0x20], r13w
mov eax, 0xf
cmp byte [rdi + 0x19], 0
mov r9d, 0xd
mov r8, rbx
mov rdx, rsi
cmovne r9w, ax
mov rcx, rdi
call fcn.140118580
jmp 0x14011aa55
mov r14d, 0x3c
jmp 0x14011aa1c
mov r14d, 0x14
jmp 0x14011aa1c
mov r14d, 0x15
jmp 0x14011aa1c
mov r14d, 0x16
jmp 0x14011aa1c
mov r14d, 0x18
jmp 0x14011aa1c
movzx ecx, byte [rbx]
cmp cl, 0x3f
je 0x14011a0c1
cmp cl, 0x5c
je 0x14011a0c1
mov r15d, r13d
jmp 0x14011a0e3
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx ecx, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14011a132
mov word [rdi + 0x20], r13w
cmp r15d, r13d
jne 0x14011a108
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rdi
call fcn.140117f30
jmp 0x14011aa55
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov rdx, rsi
mov rcx, rdi
mov r8d, dword [rax + 4]
add r8, rbx
call fcn.140117f30
jmp 0x14011aa55
mov rax, qword [rdi + 0x88]
test dword [rax], 0x200
je 0x14011a15c
cmp cl, 0x2a
jne 0x14011a15c
mov eax, r15d
mov r14d, 0x45
add rbx, rax
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp cl, 0x2e
jne 0x14011a1fc
mov r8d, r15d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x14011a177
cmp al, 0x5c
jne 0x14011a196
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2e
jne 0x14011a1fc
mov r14d, 0x1a
cmp r15d, 1
jne 0x14011a1ac
lea r15, [rbx + 1]
jmp 0x14011a1c6
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r15d, dword [rax + 4]
add r15, rbx
cmp r13d, 1
jne 0x14011a1da
lea rbx, [r15 + 1]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
lea rdx, [rbp - 0x80]
mov r8, r15
mov r9, rsi
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r15
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x19
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a212
cmp al, 0x5c
jne 0x14011a234
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x26
jne 0x14011a240
mov r14d, 0x1c
jmp 0x14011a24a
cmp al, 0x3d
jne 0x14011a264
mov r14d, 0x1d
cmp r13d, 1
mov r15, rbx
jne 0x1401197f6
inc rbx
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x1b
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a27a
cmp al, 0x5c
jne 0x14011a29c
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3d
jne 0x14011a2a8
mov r14d, 0x1f
jmp 0x14011a24a
mov r14d, 0x1e
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a2be
cmp al, 0x5c
jne 0x14011a2e0
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2b
jne 0x14011a327
mov r14, rbx
cmp r13d, 1
jne 0x14011a2fe
inc rbx
lea r14d, [r13 + 0x20]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x21
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp al, 0x3d
jne 0x14011a36e
mov r14, rbx
cmp r13d, 1
jne 0x14011a345
inc rbx
lea r14d, [r13 + 0x21]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x22
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x20
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a389
cmp al, 0x5c
je 0x14011a389
mov r14d, r13d
jmp 0x14011a3ab
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r14d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2d
jne 0x14011a3f3
mov r15, rbx
cmp r14d, r13d
jne 0x14011a3ca
inc rbx
mov r14d, 0x25
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, 0x25
mov ebx, dword [rax + 4]
add rbx, r15
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp al, 0x3e
jne 0x14011a4ee
mov rax, qword [rdi + 0x88]
test dword [rax], 0x200
je 0x14011a4a9
mov r8d, r14d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x14011a420
cmp al, 0x5c
jne 0x14011a43f
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x2a
jne 0x14011a4a9
cmp r14d, 1
jne 0x14011a44f
lea r14, [rbx + 1]
jmp 0x14011a469
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, dword [rax + 4]
add r14, rbx
cmp r13d, 1
jne 0x14011a481
lea rbx, [r14 + 1]
mov qword [rsp + 0x30], rbx
lea r14d, [r13 + 0x45]
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rbp - 0x80]
mov r8, r14
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x46
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r15, rbx
cmp r14d, 1
jne 0x14011a4c5
inc rbx
mov r14d, 0x24
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, 0x24
mov ebx, dword [rax + 4]
add rbx, r15
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
cmp al, 0x3d
jne 0x14011a536
mov r15, rbx
cmp r14d, r13d
jne 0x14011a50d
inc rbx
mov r14d, 0x26
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov r14d, 0x26
mov ebx, dword [rax + 4]
add rbx, r15
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x23
jmp 0x14011aa1c
mov r14d, 0x27
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a557
cmp al, 0x5c
jne 0x14011a579
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3d
jne 0x14011a588
mov r14d, 0x29
jmp 0x14011a24a
mov r14d, 0x28
jmp 0x14011aa1c
movzx ecx, byte [rbx]
cmp cl, 0x3f
je 0x14011a5a5
cmp cl, 0x5c
je 0x14011a5a5
mov edx, r13d
jmp 0x14011a5c6
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov edx, dword [rsp + 0x44]
movzx ecx, byte [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
cmp cl, 0x3d
jne 0x14011a5d9
mov r14d, 0x2d
cmp edx, r13d
jmp 0x14011a24e
mov rax, qword [rdi + 0x88]
test byte [rax + 0xc], 2
je 0x14011a77d
cmp cl, 0x3e
jne 0x14011a5fd
mov r14d, 0x18
cmp edx, r13d
jmp 0x14011a24e
cmp cl, 0x3a
jne 0x14011a77d
mov r14, rbx
cmp edx, r13d
jne 0x14011a613
inc rbx
jmp 0x14011a62c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov qword [rsp + 0x30], rbx
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a641
cmp al, 0x5c
je 0x14011a641
mov r15d, r13d
jmp 0x14011a663
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x25
jne 0x14011a6b9
mov r8d, r15d
add r8, rbx
movzx eax, byte [r8]
cmp al, 0x3f
je 0x14011a679
cmp al, 0x5c
jne 0x14011a698
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x3a
jne 0x14011a758
mov r14d, 0x43
cmp r15d, 1
jne 0x14011a1ac
lea r15, [rbx + 1]
jmp 0x14011a1c6
cmp al, 0x40
jne 0x14011a758
mov rax, qword [rdi + 0x88]
test byte [rax], 0x40
je 0x14011a758
mov r14, rbx
cmp r15d, r13d
jne 0x14011a6de
inc rbx
jmp 0x14011a6f7
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
cmp byte [rdi + 0x1a], 0
mov qword [rsp + 0x30], rbx
jne 0x14011a74d
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x60]
mov r9d, 0x480
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x14011a73e
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
mov r14d, 0x44
jmp 0x14011aa1c
cmp byte [rsp + 0x38], 0
je 0x14011a772
cmp byte [rdi + 0x1a], 0
jne 0x14011a772
cmp byte [rdi + 0x91], 0
je 0x14011a9ad
mov r14d, 0x42
jmp 0x14011aa1c
mov r14d, 0x2c
jmp 0x14011aa1c
movzx ecx, byte [rbx]
cmp cl, 0x3f
je 0x14011a795
cmp cl, 0x5c
jne 0x14011a7b7
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx ecx, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp cl, 0x3d
jne 0x14011a7ff
mov r14, rbx
cmp r13d, 1
jne 0x14011a7d6
inc rbx
lea r14d, [r13 + 0x37]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x38
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov rax, qword [rdi + 0x88]
test dword [rax + 0x28], 0x40000000
je 0x14011a857
cmp cl, 0x5e
jne 0x14011a857
mov r14, rbx
cmp r13d, 1
jne 0x14011a82e
inc rbx
lea r14d, [r13 + 0x4a]
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r9, rsi
lea rdx, [rsp + 0x50]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
mov ebx, dword [rax + 4]
add rbx, r14
mov r14d, 0x4b
mov qword [rsp + 0x30], rbx
jmp 0x14011aa1c
mov r14d, 0x37
jmp 0x14011aa1c
movzx ecx, byte [rbx]
cmp cl, 0x3f
je 0x14011a86f
cmp cl, 0x5c
jne 0x14011a891
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx ecx, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
mov rax, qword [rdi + 0x88]
test byte [rax + 0xc], 2
je 0x14011a8ae
cmp cl, 0x3e
jne 0x14011a8ae
mov r14d, 0x14
jmp 0x14011a24a
cmp cl, 0x3a
jne 0x14011a8be
mov r14d, 0x47
jmp 0x14011a24a
mov r14d, 0x3d
jmp 0x14011aa1c
mov r14d, 0x3e
jmp 0x14011aa1c
mov r14d, 0x41
jmp 0x14011aa1c
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14011a8ea
cmp al, 0x5c
jne 0x14011a90c
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rdi
call fcn.14011d040
movzx eax, byte [rsp + 0x40]
mov r13d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
cmp al, 0x23
jne 0x14011a91b
mov r14d, 0x43
jmp 0x14011a24a
cmp al, 0x40
jne 0x14011a98b
mov rax, qword [rdi + 0x88]
test byte [rax], 0x40
je 0x14011a98b
cmp byte [rdi + 0x1a], 0
mov r14d, 0x44
jne 0x14011a24a
mov r8, qword [rdi + 0x98]
lea rdx, [rsp + 0x60]
mov r9d, 0x480
mov rcx, rdi
call fcn.1401169a0
cmp byte [rsp + 0x78], 0
je 0x14011a977
movzx edx, byte [rsp + 0x79]
mov rcx, qword [rsp + 0x70]
call fcn.1400648f0
mov qword [rsp + 0x70], r12
mov word [rsp + 0x78], 0
lea rcx, [rsp + 0x60]
call fcn.14006dd10
mov rbx, qword [rsp + 0x30]
jmp 0x14011a24a
cmp byte [rsp + 0x38], 0
je 0x14011a772
cmp byte [rdi + 0x1a], 0
jne 0x14011a772
cmp byte [rdi + 0x91], 0
jne 0x14011a772
mov r9d, 0x42
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140116b40
mov rcx, qword [rdi + 8]
mov rdx, rsi
call fcn.140134ca0
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x70]
cmp byte [rcx + 9], 0
jne 0x140118c4b
xor al, al
jmp 0x14011aa55
cmp byte [rbx - 1], 0x40
jne 0x14011aa18
mov rax, qword [rdi + 0x88]
test dword [rax], 0x10000
je 0x14011aa18
mov r14d, 0x48
jmp 0x14011aa1c
mov r9, qword [rsp + 0x30]
mov r8d, dword [rbp - 0x78]
call fcn.14011b000
jmp 0x14011aa55
inc rbx
mov qword [rsp + 0x30], rbx
movzx r14d, r12w
mov word [rdi + 0x20], 1
lea rdx, [rbp - 0x78]
mov r9d, ebx
mov rcx, rdi
sub r9d, dword [rdi + 0x98]
mov dword [rsi + 4], r9d
mov r8, qword [rdi + 0x98]
call fcn.14011d640
mov ecx, dword [rax]
mov al, 1
mov word [rsi + 0x10], r14w
mov dword [rsi], ecx
mov qword [rdi + 0x98], rbx
mov r15, qword [rsp + 0x188]
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1401842c0
add rsp, 0x130
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret