Function at 0x140025e36
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
mov rsi, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
mov qword [rsp + 0x190], rcx
mov r15, r9
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x1a0], r8
test rsi, rsi
je 0x140025e7e
xor ebp, ebp
mov qword [rsi], rbp
mov r13, qword [r15]
cmp r13, rdi
jae 0x140026aac
mov rax, qword [rsp + 0x198]
mov r12, qword [0x1401e1c30]
mov byte [rax + 0x1a8], 0
movzx eax, byte [r13]
mov rdx, rax
mov ax, word [r12 + rax*2]
shr ax, 2
xor eax, 1
cmp dl, 0x2d
setne bpl
cmp dl, 0x28
setne dl
and ebp, edx
and bpl, al
je 0x140025ee6
mov qword [rsp + 0x108], 0xffffffffffffffff
xor ebp, ebp
mov dword [rsp + 0x8c], 0xffffffff
jmp 0x140025ff6
lea r14, [rsp + 0x108]
mov r8, rdi
mov rcx, r15
mov rdx, r14
call fcn.1400245f1
mov ebx, eax
test al, al
je 0x140026aac
mov rax, qword [r15]
cmp byte [rax], 0x3d
je 0x140025f2e
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
mov r8, r14
call fcn.140023ff5
mov rbx, rax
jmp 0x140028414
test rsi, rsi
je 0x140025f56
mov eax, dword [rsp + 0x108]
or eax, dword [rsp + 0x10c]
js 0x140025f56
mov rcx, qword [rsp + 0x198]
mov rdx, r14
call fcn.140023e0f
mov qword [rsi], rax
inc qword [r15]
mov dword [rsp + 0x8c], 0xffffffff
mov rax, qword [r15]
cmp byte [rax], 0x40
lea rdx, [rax + 1]
jne 0x140025ff6
movzx r8d, byte [rax + 1]
mov rcx, r8
test byte [r12 + r8*2], 4
jne 0x140025ff6
cmp r8b, 0x2d
sete r8b
cmp cl, 0x28
sete cl
or r8b, cl
jne 0x140025ff6
mov cl, byte [rdx]
cmp cl, 0x3b
je 0x140025faa
test cl, cl
je case.0x140026049.2
inc rdx
jmp 0x140025f96
inc rdx
mov qword [r15], rdx
mov dl, byte [rax + 1]
cmp dl, 0x53
je 0x140025fef
cmp dl, 0x73
je 0x140025fc7
test dl, dl
je case.0x140026049.2
jmp 0x140025f64
lea rcx, [rax + 2]
call sub.msvcrt.dll_atoi
mov dword [rsp + 0x8c], 0xffffffff
cmp eax, 7
jle 0x140025f64
sar eax, 3
mov dword [rsp + 0x8c], eax
jmp 0x140025f64
mov ebp, ebx
jmp 0x140025f64
mov rbx, qword [r15]
mov al, byte [rbx]
lea rsi, [rbx + 1]
mov qword [r15], rsi
mov byte [rsp + 0x50], al
cmp al, 0x78
jg case.0x140026049.2
cmp al, 0x60
jg 0x140026029
cmp al, 0x40
je 0x1400263a5
jg 0x140026081
cmp al, 0x2d
jg 0x14002606d
cmp al, 0x22
jg 0x14002604b
jmp case.0x140026049.2
mov al, byte [rsp + 0x50]
sub eax, 0x61
cmp al, 0x17
ja case.0x140026049.2
lea rdx, [0x1400fdd7c]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov al, byte [rsp + 0x50]
sub eax, 0x23
cmp al, 0xa
ja case.0x140026049.2
lea rdx, [0x1400fdddc]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov al, byte [rsp + 0x50]
sub eax, 0x30
cmp al, 9
jbe case.0x14002606b.5
jmp case.0x140026049.2
cmp byte [rsp + 0x50], 0x52
je 0x140026a20
cmp byte [rsp + 0x50], 0x53
je 0x1400282c4
cmp byte [rsp + 0x50], 0x42
jne case.0x140026049.2
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov r9, r15
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x20], r8
mov rcx, qword [rsp + 0x190]
xor r8d, r8d
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
mov rdx, rax
call fcn.140021e13
jmp 0x140026320
mov al, byte [rbx + 1]
cmp al, 0x73
je 0x140026111
jg 0x1400260f9
test al, al
je case.0x140026049.2
mov ebp, 0xb
cmp al, 0x65
jmp 0x140026100
mov ebp, 8
cmp al, 0x75
je 0x140026116
lea rdx, str.unrecognized_cross_reference_type
mov rcx, r13
call fcn.140023ddc
mov ebp, 7
mov rax, qword [r15]
mov edx, 0x3c
lea rbx, [rax + 1]
mov qword [r15], rbx
mov rcx, rbx
call sub.msvcrt.dll_strchr
mov edx, 0x3a
mov rcx, rbx
mov rdi, rax
call sub.msvcrt.dll_strchr
mov rsi, rax
test rax, rax
je case.0x140026049.2
test rdi, rdi
je 0x140026188
cmp rdi, rax
jae 0x140026188
cmp byte [rax + 1], 0x3a
jne 0x140026188
mov rsi, rdi
xor eax, eax
mov dl, byte [rsi]
test dl, dl
je case.0x140026049.2
cmp dl, 0x3c
jne 0x140026171
inc eax
jmp 0x140026183
cmp dl, 0x3e
jne 0x14002617a
dec eax
jmp 0x140026183
cmp dl, 0x3a
jne 0x140026183
test eax, eax
je 0x140026188
inc rsi
jmp 0x14002615e
mov rdi, rsi
sub rdi, rbx
cmp qword [rsp + 0x1a0], 0
je 0x1400261cd
mov rcx, qword [rsp + 0x1a0]
mov r8, rdi
mov rdx, rbx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x1400261cd
mov rax, qword [rsp + 0x1a0]
cmp byte [rax + rdi], 0
jne 0x1400261cd
mov rax, qword [rsp + 0x198]
mov byte [rax + 0x1a8], 1
mov dword [rsp + 0x20], ebp
mov rdx, qword [rsp + 0x198]
mov r8, rbx
mov r9d, edi
mov rcx, qword [rsp + 0x190]
call fcn.14002443b
mov rbx, rax
lea rax, [rsi + 1]
mov qword [r15], rax
jmp 0x140028304
mov qword [r15], rbx
lea rdx, [rsp + 0x110]
mov r8, rdi
mov rcx, r15
call fcn.1400245f1
test al, al
je 0x140026aac
mov esi, dword [rsp + 0x108]
cmp esi, dword [rsp + 0x110]
jne 0x14002624b
mov eax, dword [rsp + 0x114]
cmp dword [rsp + 0x10c], eax
jne 0x14002624b
mov rcx, qword [rsp + 0x190]
call fcn.1400219db
mov rbx, rax
jmp 0x140026281
mov qword [r15], rbx
mov rdx, qword [rsp + 0x198]
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x28], rdi
xor edi, edi
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x20], rdi
call fcn.140025e36
mov rbx, rax
test rax, rax
je 0x140026aac
inc esi
je 0x140028304
mov rcx, qword [rsp + 0x198]
lea rdx, [rsp + 0x108]
call fcn.140023e0f
test rax, rax
je 0x140026aac
mov qword [rax], rbx
jmp 0x140028304
xor ebx, ebx
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
mov rdx, rax
call fcn.140021b3f
jmp 0x140026320
xor r11d, r11d
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], r11
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
mov rdx, rax
call fcn.140021bd4
mov rbx, rax
jmp 0x140028304
xor r10d, r10d
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], r10
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
call fcn.140021b76
jmp 0x140026320
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x20], r9
mov rcx, qword [rsp + 0x190]
mov r9, r15
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
mov rdx, rax
call fcn.140021de1
jmp 0x140026320
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rbx, rax
test rax, rax
je 0x140026aac
mov rax, qword [r15]
cmp byte [rax], 0x2c
jne case.0x140026049.2
inc rax
xor edx, edx
mov rcx, qword [rsp + 0x190]
xor r8d, r8d
mov qword [r15], rax
mov r9, r15
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x28], rdi
call fcn.140025e36
mov r8, rax
test rax, rax
je 0x140026aac
mov rcx, qword [rsp + 0x190]
mov rdx, rbx
call fcn.140021d27
jmp 0x140026320
cmp byte [rbx + 1], 0x23
jne 0x140026495
xor eax, eax
add rbx, 2
mov r9, r15
xor r8d, r8d
mov qword [r15], rbx
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x28], rdi
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x20], rax
call fcn.140025e36
mov rdx, rax
test rax, rax
je 0x140026aac
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne case.0x140026049.2
inc rax
xor r9d, r9d
xor r8d, r8d
mov qword [r15], rax
xor eax, eax
mov dword [rsp + 0x20], eax
jmp 0x1400265de
xor eax, eax
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rsi, rax
test rax, rax
je 0x140026aac
mov rax, qword [r15]
cmp byte [rax], 0x2c
jne case.0x140026049.2
inc rax
mov rdx, qword [rsp + 0x198]
mov r9, r15
xor r8d, r8d
mov qword [r15], rax
xor eax, eax
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.140025e36
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140026aac
mov ecx, 0x50
mov ebp, 0xa
xor r14d, r14d
call fcn.1400d4a13
mov rbx, rax
mov rax, qword [r15]
mov dl, byte [rax]
cmp dl, 0x3b
je 0x140026597
cmp dl, 0x2c
jne case.0x140026049.2
inc rax
lea r12d, [r14 + 1]
mov qword [r15], rax
cmp r12d, ebp
jb 0x14002655b
lea edx, [rbp + 0xa]
mov rcx, rbx
mov rbp, rdx
shl rdx, 3
call fcn.1400d4a85
mov rbx, rax
xor eax, eax
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x198]
lea r14, [rbx + r14*8]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov qword [r14], rax
test rax, rax
je 0x140026aac
mov r14d, r12d
jmp 0x140026524
inc rax
mov qword [r15], rax
mov al, 1
test r14d, r14d
je 0x1400265c6
lea eax, [r14 - 1]
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rbx + rax*8]
mov rdi, rax
call fcn.140022422
cmp eax, 2
cmove r14, rdi
setne al
xor edi, edi
movzx eax, al
mov rdx, qword [rsp + 0x48]
mov r9, rbx
mov qword [rbx + r14*8], rdi
mov r8, rsi
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x190]
call fcn.140021d76
jmp 0x140026320
cmp rsi, rdi
jae 0x140026aac
lea r14, [rsp + 0x110]
mov r8, rdi
mov rcx, r15
mov rdx, r14
call fcn.1400245f1
test al, al
je 0x140026aac
mov eax, dword [rsp + 0x108]
xor r13d, r13d
cmp dword [rsp + 0x110], eax
jne 0x14002663f
xor r13d, r13d
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x114], eax
sete r13b
mov rax, qword [r15]
xor ebp, ebp
cmp byte [rax], 0x3d
jne 0x140026680
xor r11d, r11d
mov qword [r15], rsi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x20], r11
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rbp, rax
test rax, rax
je 0x140026aac
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x14002668e
inc rax
mov qword [r15], rax
mov rax, qword [r15]
lea rdx, [rsp + 0xff]
mov r8, rdi
mov rcx, r15
mov qword [rsp + 0x48], rax
call fcn.140024522
mov r12, qword [r15]
mov rbx, rax
cmp byte [r12], 0x3b
jne 0x140026aa4
inc r12
mov r8, rdi
lea rdx, [rsp + 0x100]
mov rcx, r15
mov qword [r15], r12
call fcn.140024522
mov rdi, rax
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x140026aa4
inc rax
mov qword [r15], rax
mov r15b, byte [rsp + 0xff]
test r15b, r15b
jne 0x1400266ff
cmp byte [rsp + 0x100], 0
je 0x140026760
test rbp, rbp
jne 0x140026751
mov rcx, qword [rsp + 0x48]
lea rdx, str.01000000000000000000000_
call fcn.140023fc5
test al, al
je 0x140026730
lea rdx, str.0777777777777777777777_
mov rcx, r12
call fcn.140023fc5
test al, al
jne 0x1400267f3
test rbx, rbx
jne 0x140026751
dec r15b
je 0x140026751
lea rdx, str.01777777777777777777777_
mov rcx, r12
call fcn.140023fc5
test al, al
jne 0x140026810
lea rdx, str.numeric_overflow
mov rcx, rsi
call fcn.140023ddc
test rbp, rbp
jne 0x1400268fd
mov ecx, r13d
and ecx, 1
test rbx, rbx
sete dl
test rdi, rdi
mov r9d, edx
sete al
and r9b, r13b
je 0x14002678b
test al, al
jne 0x1400269fc
test rbx, rbx
setg r8b
test cl, r8b
je 0x1400267aa
test al, al
je 0x1400267c2
mov rcx, qword [rsp + 0x190]
mov edx, ebx
jmp 0x140026a6b
test al, al
je 0x1400267c2
test r8b, r8b
je 0x1400267c2
mov rcx, qword [rsp + 0x190]
mov edx, ebx
jmp 0x140026a75
cmp rdi, 0xffffffffffffffff
jne 0x14002684c
test dl, dl
je 0x14002684c
cmp qword [rsp + 0x1a0], 0
je 0x140026841
mov rcx, qword [rsp + 0x1a0]
lea rdx, str.long_long_int
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400267f8
xor r8d, r8d
jmp 0x140026816
mov rcx, qword [rsp + 0x1a0]
lea rdx, str.long_long_unsigned_int
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140026841
mov r8d, 1
mov edx, 8
jmp 0x1400268d8
mov r8d, 1
cmp rdi, 0xffff
je 0x1400268c0
mov eax, 0xffffffff
cmp rdi, rax
jne 0x1400268fd
mov r8d, 1
jmp 0x1400268d3
test r9b, r9b
je 0x14002685c
cmp rdi, 0x7f
jne 0x140026861
xor r8d, r8d
jmp 0x140026877
test rbx, rbx
jne 0x14002687e
mov edx, edi
test rdi, rdi
js 0x140026890
cmp rdi, 0xff
jne 0x140026820
mov r8d, 1
mov edx, 1
jmp 0x1400268d8
jns 0x14002689a
test al, al
je 0x14002689a
cmp rbx, 0xfffffffffffffff8
je 0x14002688e
test cl, cl
je 0x14002689a
mov edx, ebx
neg edx
mov r8d, 1
jmp 0x1400268d8
mov rax, rdi
not rax
cmp rbx, rax
je 0x1400268ae
lea rax, [rdi + 1]
cmp rbx, rax
jne 0x1400268fd
cmp rdi, 0x7f
je 0x140026857
cmp rdi, 0x7fff
jne 0x1400268c7
xor r8d, r8d
mov edx, 2
jmp 0x1400268d8
cmp rdi, 0x7fffffff
jne 0x1400268ea
xor r8d, r8d
mov edx, 4
mov rcx, qword [rsp + 0x190]
call fcn.1400219e7
jmp 0x140026320
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
je 0x1400267f3
test r13d, r13d
jne 0x140026aa4
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
mov r8, r14
call fcn.140023ff5
test rax, rax
jne 0x140026947
lea rdx, str.missing_index_type
mov rcx, rsi
call fcn.140023ddc
mov rcx, qword [rsp + 0x190]
xor r8d, r8d
mov edx, 4
call fcn.1400219e7
mov rcx, qword [rsp + 0x190]
mov r9, rdi
mov r8, rbx
mov rdx, rax
call fcn.140021c06
jmp 0x140026320
cmp rsi, rdi
jae 0x140026aac
mov al, byte [rbx + 1]
cmp al, 0x73
je 0x14002697f
cmp al, 0x75
jne 0x140026aa4
mov bpl, 1
jmp 0x140026981
xor ebp, ebp
lea rax, [rbx + 2]
mov qword [r15], rax
mov al, byte [rbx + 2]
lea edx, [rax - 0x62]
cmp dl, 1
jbe 0x140026997
cmp al, 0x76
jne 0x14002699e
add rbx, 3
mov qword [r15], rbx
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x140026aa4
inc rax
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
call fcn.140024522
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x140026aa4
inc rax
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
call fcn.140024522
mov rdx, qword [r15]
cmp byte [rdx], 0x3b
jne 0x1400269f7
inc rdx
mov qword [r15], rdx
test rax, rax
jne 0x140026a0e
mov rcx, qword [rsp + 0x190]
call fcn.1400219db
jmp 0x140026320
shr rax, 3
mov r8d, ebp
and r8d, 1
mov edx, eax
jmp 0x1400268d8
cmp rsi, rdi
jae 0x140026aac
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov rbx, rax
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x140026aa4
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov rdx, rax
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x140026aa4
sub rbx, 3
mov rcx, qword [rsp + 0x190]
cmp rbx, 2
ja 0x140026a75
call fcn.140021a1b
jmp 0x140026320
call fcn.140021a07
jmp 0x140026320
cmp rsi, rdi
jae 0x140026aac
cmp byte [rbx + 1], 0x2d
jne 0x140026ab9
mov rax, qword [r15]
mov dl, byte [rax]
cmp dl, 0x3a
je 0x140026aa0
test dl, dl
je 0x140026aa4
inc rax
mov qword [r15], rax
jmp 0x140026a8a
test dl, dl
jne 0x140026ab3
mov rcx, rsi
call fcn.140023f1b
xor ebx, ebx
jmp 0x140028414
inc rax
mov qword [r15], rax
mov ecx, 0x50
mov r12d, 0xa
xor r13d, r13d
movabs r14, 0xf7ffeffffffffffe
call fcn.1400d4a13
mov ecx, 0x50
mov rbx, rax
call fcn.1400d4a13
mov rbp, rax
mov rcx, qword [r15]
mov al, byte [rcx]
cmp al, 0x3b
ja 0x140026af9
bt r14, rax
jae 0x140026bdb
mov r8, rcx
mov al, byte [r8]
cmp al, 0x3a
je 0x140026b0c
test al, al
je 0x140026b10
inc r8
jmp 0x140026afc
test al, al
jne 0x140026b1a
mov rcx, rsi
call fcn.140023f1b
jmp 0x140026b63
mov edx, r8d
mov qword [rsp + 0x50], r8
sub edx, ecx
call fcn.140023f99
mov r8, qword [rsp + 0x50]
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x48], rax
inc r8
mov qword [r15], r8
mov r8, rdi
call fcn.140024522
mov r8, rax
mov rax, qword [r15]
cmp byte [rax], 0x2c
je 0x140026b73
mov rcx, rsi
call fcn.140023f1b
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
mov rcx, rbx
call sub.msvcrt.dll_free
mov rcx, rbp
jmp 0x1400280ca
inc rax
lea r10d, [r13 + 1]
mov qword [r15], rax
cmp r10d, r12d
jb 0x140026bc2
lea edx, [r12 + 0xa]
mov rcx, rbx
mov dword [rsp + 0x60], r10d
mov r12, rdx
shl rdx, 3
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], rdx
call fcn.1400d4a85
mov rdx, qword [rsp + 0x50]
mov rcx, rbp
mov rbx, rax
call fcn.1400d4a85
mov r10d, dword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov rbp, rax
mov rax, qword [rsp + 0x48]
mov r9d, r13d
mov r13d, r10d
mov qword [rbx + r9*8], rax
mov qword [rbp + r9*8], r8
jmp 0x140026ae6
xor r10d, r10d
mov r9d, r13d
mov qword [rbx + r9*8], r10
mov rax, qword [r15]
mov qword [rbp + r9*8], r10
cmp byte [rax], 0x3b
jne 0x140026bf8
inc rax
mov qword [r15], rax
mov rcx, qword [rsp + 0x190]
mov r8, rbp
mov rdx, rbx
call fcn.140021afe
jmp 0x140026320
mov r8, rdi
xor edx, edx
mov rcx, r15
call fcn.140024522
mov rbx, qword [r15]
mov qword [rsp + 0xc0], rax
cmp rbx, rdi
jae 0x1400280bd
xor r9d, r9d
cmp byte [rbx], 0x21
mov qword [rsp + 0x90], r9
jne 0x140026dc1
lea rax, [rbx + 1]
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
call fcn.140024522
mov rdx, qword [r15]
cmp byte [rdx], 0x2c
jne 0x140026d62
inc rdx
lea ecx, [rax + 1]
mov r13d, eax
xor esi, esi
mov qword [r15], rdx
shl rcx, 3
call fcn.1400d4a13
mov qword [rsp + 0x90], rax
jmp 0x140026d36
mov r14d, 2
cmp al, 0x30
jne 0x140026d91
inc qword [r15]
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov rbp, rax
mov rax, qword [r15]
cmp byte [rax], 0x2c
jne 0x140026d62
inc rax
xor r8d, r8d
mov r9, r15
mov rdx, qword [rsp + 0x198]
mov qword [r15], rax
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov qword [rsp + 0x28], rdi
call fcn.140025e36
mov rdx, rax
test rax, rax
je 0x1400280bd
mov dword [rsp + 0x20], r14d
mov rcx, qword [rsp + 0x190]
mov r9d, r12d
mov r8, rbp
and r9d, 1
call fcn.140021e45
mov rcx, qword [rsp + 0x90]
mov qword [rcx + rsi*8], rax
test rax, rax
je 0x1400280bd
mov rax, qword [r15]
inc rsi
cmp byte [rax], 0x3b
jne 0x1400280bd
inc rax
mov qword [r15], rax
mov rax, qword [r15]
cmp esi, r13d
jae 0x140026db3
mov al, byte [rax]
cmp al, 0x30
jne 0x140026d6f
xor r12d, r12d
mov rax, qword [r15]
lea rdx, [rax + 1]
mov qword [r15], rdx
mov al, byte [rax + 1]
cmp al, 0x31
je 0x140026da8
jg 0x140026d8d
test al, al
jne 0x140026c89
mov rcx, rbx
call fcn.140023f1b
jmp 0x1400280bd
cmp al, 0x31
je 0x140026d88
test al, al
je 0x140026d62
lea rdx, str.unknown_virtual_character_for_baseclass
mov rcx, rbx
call fcn.140023ddc
jmp 0x140026d44
mov r12b, 1
jmp 0x140026d47
cmp al, 0x32
je 0x140026da0
lea rdx, str.unknown_visibility_character_for_baseclass
mov rcx, rbx
call fcn.140023ddc
xor r14d, r14d
jmp 0x140026c97
mov r14d, 1
jmp 0x140026c97
mov rax, qword [rsp + 0x90]
xor ecx, ecx
mov qword [rax + rsi*8], rcx
mov rax, qword [r15]
mov qword [rsp + 0x60], rax
cmp rax, rdi
jae 0x1400280bd
mov ecx, 0x50
mov r14d, 0xa
xor ebx, ebx
call fcn.1400d4a13
mov byte [rsp + 0xd7], 0
mov qword [rsp + 0x58], rax
mov rsi, qword [r15]
cmp byte [rsi], 0x3b
je 0x1400271bc
lea eax, [rbx + 1]
mov dword [rsp + 0x68], eax
cmp eax, r14d
jb 0x140026e23
lea edx, [r14 + 0xa]
mov rcx, qword [rsp + 0x58]
mov r14, rdx
shl rdx, 3
call fcn.1400d4a85
mov qword [rsp + 0x58], rax
mov al, byte [rsi]
cmp al, 0x24
je 0x140026e31
cmp al, 0x2e
jne 0x140026fbd
cmp byte [rsi + 1], 0x5f
je 0x140026fbd
mov rax, qword [r15]
mov rcx, qword [rsp + 0x58]
xor edx, edx
lea rsi, [rax + 1]
lea r12, [rcx + rbx*8]
mov qword [r15], rsi
mov qword [r12], rdx
cmp rsi, rdi
jae 0x1400271a4
cmp byte [rax + 1], 0x76
jne 0x140026f7b
lea rdx, [rax + 2]
mov qword [r15], rdx
mov bpl, byte [rax + 2]
test bpl, bpl
je 0x140026f7b
add rax, 3
mov rdx, qword [rsp + 0x198]
mov r9, r15
xor r8d, r8d
mov qword [r15], rax
xor eax, eax
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.140025e36
mov rdx, rax
test rax, rax
je 0x1400271a4
cmp bpl, 0x62
je 0x140026ee0
lea rbx, str._vptr_
cmp bpl, 0x66
je 0x140026f1d
lea rdx, str.unrecognized_C_abbreviation
mov rcx, rsi
lea rbx, str.INVALID_CPLUSPLUS_ABBREV
call fcn.140023ddc
jmp 0x140026f1d
mov rcx, qword [rsp + 0x190]
call fcn.140022341
mov rdx, rax
test rax, rax
jne 0x140026f0b
lea rdx, str.unnamed__vb_type
mov rcx, rsi
call fcn.140023ddc
lea rdx, [0x1400fdb71]
xor r8d, r8d
lea rcx, str._vb_
call fcn.1400cbd90
mov rbx, rax
mov rax, qword [r15]
cmp byte [rax], 0x3a
jne 0x140026f7b
inc rax
mov rdx, qword [rsp + 0x198]
xor r8d, r8d
mov r9, r15
mov qword [r15], rax
xor eax, eax
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.140025e36
mov rbp, rax
mov rax, qword [r15]
cmp byte [rax], 0x2c
jne 0x140026f7b
inc rax
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
call fcn.140024522
mov rdx, qword [r15]
mov r9, rax
cmp byte [rdx], 0x3b
je 0x140026f83
mov rcx, rsi
jmp 0x14002703c
inc rdx
xor eax, eax
mov rcx, qword [rsp + 0x190]
mov r8, rbp
mov qword [r15], rdx
mov rdx, rbx
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
call fcn.140021e82
mov qword [r12], rax
test rax, rax
jne 0x1400271b3
jmp 0x1400271a4
mov edx, 0x3a
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov r12, rax
test rax, rax
jne 0x140026fd9
mov rcx, qword [rsp + 0x60]
jmp 0x14002703c
cmp byte [rax + 1], 0x3a
mov rbp, qword [r15]
je 0x1400271bc
cmp rbp, rdi
jae 0x1400271a4
mov edx, eax
mov rcx, rbp
sub edx, ebp
call fcn.140023f99
mov qword [rsp + 0x48], rax
lea rax, [r12 + 1]
mov qword [r15], rax
cmp byte [r12 + 1], 0x2f
jne 0x140027065
lea rax, [r12 + 2]
mov qword [r15], rax
mov al, byte [r12 + 2]
cmp al, 0x31
je 0x14002705a
jg 0x140027033
test al, al
je 0x140027039
mov r12d, 2
cmp al, 0x30
je 0x140027060
jmp 0x140027046
cmp al, 0x32
je 0x140027055
jmp 0x140027046
mov rcx, rbp
call fcn.140023f1b
jmp 0x1400271a4
lea rdx, str.unknown_visibility_character_for_field
mov rcx, rbp
call fcn.140023ddc
xor r12d, r12d
jmp 0x140027060
mov r12d, 1
inc qword [r15]
jmp 0x140027068
xor r12d, r12d
xor r13d, r13d
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov r13, rax
test rax, rax
je 0x1400270d4
mov rax, qword [rsp + 0x58]
mov rcx, qword [r15]
lea rbx, [rax + rbx*8]
mov al, byte [rcx]
cmp al, 0x3a
jne 0x140027120
inc rcx
mov edx, 0x3b
mov qword [r15], rcx
mov qword [rsp + 0x70], rcx
call sub.msvcrt.dll_strchr
mov rcx, qword [rsp + 0x70]
test rax, rax
mov rsi, rax
jne 0x1400270e3
mov rcx, rbp
call fcn.140023f1b
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
jmp 0x1400271a4
mov edx, eax
sub edx, ecx
call fcn.140023f99
lea r8, [rsi + 1]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x190]
mov qword [r15], r8
mov r9, rax
mov r8, r13
mov dword [rsp + 0x20], r12d
call fcn.140021ec3
mov byte [rsp + 0xd7], 1
mov qword [rbx], rax
jmp 0x1400271b3
cmp al, 0x2c
jne 0x1400270cc
inc rcx
xor edx, edx
mov r8, rdi
mov qword [r15], rcx
mov rcx, r15
call fcn.140024522
mov r9, rax
mov rax, qword [r15]
cmp byte [rax], 0x2c
jne 0x1400270cc
inc rax
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
mov qword [rsp + 0x70], r9
call fcn.140024522
mov rdx, qword [r15]
mov r9, qword [rsp + 0x70]
cmp byte [rdx], 0x3b
jne 0x1400270cc
inc rdx
mov rsi, r9
mov rcx, qword [rsp + 0x190]
mov r8, r13
mov qword [r15], rdx
or rsi, rax
mov edx, 3
cmove r12d, edx
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x28], r12d
call fcn.140021e82
mov qword [rbx], rax
jmp 0x1400271b3
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
jmp 0x1400280bd
mov ebx, dword [rsp + 0x68]
jmp 0x140026df1
mov rax, qword [rsp + 0x58]
xor r12d, r12d
mov qword [rax + rbx*8], r12
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
cmp rax, rdi
jae 0x1400280c5
xor ebx, ebx
xor esi, esi
xor ebp, ebp
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0xd0], esi
mov dword [rsp + 0xa4], esi
mov qword [rsp + 0x78], rbp
mov rbx, qword [r15]
mov bpl, byte [rbx]
cmp bpl, 0x3b
je 0x140027f7f
mov edx, 0x3a
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140027f7f
cmp byte [rax + 1], 0x3a
jne 0x140027f7f
lea rsi, [rax + 2]
cmp bpl, 0x6f
jne 0x140027247
cmp byte [rbx + 1], 0x70
jne 0x140027247
cmp byte [rbx + 2], 0x24
je 0x14002725a
mov edx, eax
mov rcx, rbx
sub edx, ebx
call fcn.140023f99
mov qword [rsp + 0x60], rax
jmp 0x14002728c
mov qword [r15], rsi
mov rbx, rsi
mov al, byte [rbx]
cmp al, 0x2e
je 0x140027277
test al, al
je 0x14002726f
inc rbx
jmp 0x140027260
cmp al, 0x2e
jne 0x140027606
mov edx, ebx
mov rcx, rsi
sub edx, esi
lea rsi, [rbx + 1]
call fcn.140023f99
mov qword [rsp + 0x60], rax
mov qword [r15], rsi
mov ecx, 0x50
xor ebx, ebx
call fcn.1400d4a13
xor r11d, r11d
mov dword [rsp + 0xbc], 0xa
mov qword [rsp + 0x70], rax
mov dword [rsp + 0xb8], r11d
mov rsi, rbx
test rbx, rbx
jne 0x1400272fe
xor r10d, r10d
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], r10
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rsi, rax
test rax, rax
je 0x140027f9c
mov rax, qword [r15]
cmp byte [rax], 0x3a
jne 0x140027606
mov rax, qword [r15]
mov edx, 0x3b
lea rcx, [rax + 1]
mov qword [r15], rcx
call sub.msvcrt.dll_strchr
mov rbx, rax
test rax, rax
je 0x140027606
mov rcx, qword [rsp + 0x190]
mov rdx, rsi
xor r12d, r12d
call fcn.140022422
cmp eax, 0x13
jne 0x140027355
mov rcx, qword [rsp + 0x190]
lea r8, [rsp + 0xfe]
mov rdx, rsi
call fcn.140023a2e
test rax, rax
sete r12b
mov rcx, qword [r15]
mov edx, ebx
sub edx, ecx
call fcn.140023f99
mov qword [rsp + 0x48], rax
lea rax, [rbx + 1]
mov qword [r15], rax
mov al, byte [rbx + 1]
cmp al, 0x30
je 0x14002738d
cmp al, 0x31
je 0x14002739a
test al, al
je 0x140027606
xor r9d, r9d
mov dword [rsp + 0xa0], r9d
jmp 0x1400273a5
mov dword [rsp + 0xa0], 2
jmp 0x1400273a5
mov dword [rsp + 0xa0], 1
lea rax, [rbx + 2]
mov qword [r15], rax
mov al, byte [rbx + 2]
cmp al, 0x44
jg case.0x1400273d8.1
cmp al, 0x3e
jg 0x1400273c0
and eax, 0xfffffffb
cmp al, 0x2a
jne case.0x1400273d8.1
jmp case.0x1400273d8.0
sub eax, 0x3f
cmp al, 5
ja case.0x1400273d8.1
lea rcx, [0x1400fde08]
movzx eax, al
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
add rbx, 3
mov qword [r15], rbx
jmp case.0x1400273d8.0
add rbx, 3
mov byte [rsp + 0xd4], 0
mov qword [r15], rbx
jmp 0x140027414
add rbx, 3
mov byte [rsp + 0xd4], 1
mov qword [r15], rbx
jmp 0x140027437
add rbx, 3
mov byte [rsp + 0xd4], 1
mov qword [r15], rbx
mov byte [rsp + 0xd5], 1
jmp 0x14002743f
mov rcx, qword [rsp + 0x68]
lea rdx, str.const_volatile_indicator_missing
call fcn.140023ddc
mov byte [rsp + 0xd4], 0
mov byte [rsp + 0xd5], 0
mov rax, qword [r15]
mov dl, byte [rax]
cmp dl, 0x2e
je 0x140027571
cmp dl, 0x3f
je 0x140027500
cmp dl, 0x2a
jne 0x140027542
inc rax
xor edx, edx
mov r8, rdi
mov rcx, r15
mov qword [r15], rax
call fcn.140024522
mov rdx, qword [r15]
cmp byte [rdx], 0x3b
jne 0x140027606
and eax, 0x7fffffff
lea rcx, [rdx + 1]
mov qword [r15], rcx
mov qword [rsp + 0x98], rax
mov al, byte [rdx + 1]
cmp al, 0x3b
sete dl
test al, al
sete al
or dl, al
mov byte [rsp + 0xd6], dl
jne 0x140027579
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov r9, r15
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x20], r8
mov rcx, qword [rsp + 0x190]
xor r8d, r8d
call fcn.140025e36
mov rbx, rax
mov rax, qword [r15]
mov dl, byte [rax]
cmp dl, 0x3a
je 0x140027585
cmp dl, 0x3b
jne 0x140027606
inc rax
mov qword [rsp + 0x80], rbx
mov qword [r15], rax
jmp 0x14002756d
inc rax
mov rcx, qword [rsp + 0x60]
mov qword [r15], rax
call sub.msvcrt.dll_strlen
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov r8, rax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14002759f
xor ecx, ecx
mov byte [rsp + 0xd6], 1
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x98], rcx
jmp 0x14002756d
mov rcx, qword [rsp + 0x68]
lea rdx, str.member_function_type_missing
call fcn.140023ddc
xor edx, edx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], rdx
mov byte [rsp + 0xd6], 0
xor ebx, ebx
jmp 0x14002758f
inc rax
mov qword [r15], rax
jmp 0x140027553
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x140027565
xor eax, eax
mov qword [rsp + 0x80], rax
mov rbp, qword [rsp + 0x48]
test r12b, r12b
je 0x140027e0e
jmp 0x1400275bb
xor eax, eax
mov byte [rsp + 0xd6], 1
xor ebx, ebx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
lea r8, [rsp + 0x108]
call fcn.140023ff5
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x140027f9c
mov rcx, qword [rsp + 0x190]
mov rdx, rsi
call fcn.1400239fc
mov qword [rsp + 0xb0], rax
test rax, rax
jne 0x140027615
mov rcx, qword [rsp + 0x68]
call fcn.140023f1b
jmp 0x140027f9c
mov rax, qword [rsp + 0x48]
mov bpl, byte [rax]
cmp bpl, 0x5f
jne 0x14002764e
cmp byte [rax + 1], 0x5f
jne 0x14002764e
movzx ecx, byte [rax + 2]
mov rdx, qword [0x1401e1c30]
test byte [rdx + rcx*2], 4
jne 0x1400276c5
cmp cl, 0x74
sete dl
cmp cl, 0x51
sete al
or dl, al
jne 0x1400276c5
mov rcx, qword [rsp + 0x48]
lea rdx, str.__ct
call fcn.140023fc5
test al, al
jne 0x14002768e
cmp qword [rsp + 0x1a0], 0
je 0x14002769c
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x60]
xor r12d, r12d
call sub.msvcrt.dll_strcmp
test eax, eax
sete r12b
xor r13d, r13d
jmp 0x1400276a2
mov r13d, 1
mov r12d, 1
jmp 0x1400276a2
xor r13d, r13d
xor r12d, r12d
cmp bpl, 0x5f
jne 0x1400276d1
mov rax, qword [rsp + 0x48]
mov al, byte [rax + 1]
cmp al, 0x24
je 0x1400276b8
cmp al, 0x2e
jne 0x1400276d1
mov rax, qword [rsp + 0x48]
cmp byte [rax + 2], 0x5f
jne 0x1400276d1
jmp 0x1400276ef
mov r12d, 1
mov r13d, 1
mov rcx, qword [rsp + 0x48]
lea rdx, str.__dt
call fcn.140023fc5
movzx esi, al
xor eax, eax
cmp bpl, 0x5f
jne 0x140027703
jmp 0x1400276f4
mov esi, 1
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0x5a
sete al
movzx eax, al
or r13d, esi
or r13d, eax
jne 0x1400278af
xor ebp, ebp
cmp qword [rsp + 0x1a0], 0
je 0x14002772b
mov rcx, qword [rsp + 0x1a0]
call sub.msvcrt.dll_strlen
mov ebp, eax
lea r9, [0x1400fdb97]
cmp byte [rsp + 0xd5], 0
lea r8, [0x1400fdb95]
cmove r8, r9
lea rax, [0x1400fdb98]
cmp byte [rsp + 0xd4], 0
cmovne r9, rax
test ebp, ebp
jne 0x140027772
lea rcx, [rsp + 0x110]
lea rdx, str.___s_s
call fcn.14002466f
jmp 0x1400277e7
cmp qword [rsp + 0x1a0], 0
je 0x1400277cf
mov rcx, qword [rsp + 0x1a0]
mov edx, 0x3c
mov qword [rsp + 0xd8], r9
mov qword [rsp + 0xc8], r8
call sub.msvcrt.dll_strchr
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd8]
test rax, rax
je 0x1400277cf
lea rcx, [rsp + 0x110]
lea rdx, str.___s_s
xor ebp, ebp
xor r13d, r13d
call fcn.14002466f
jmp 0x1400277ef
mov dword [rsp + 0x20], ebp
lea rcx, [rsp + 0x110]
lea rdx, str.___s_s_d
call fcn.14002466f
mov r13, qword [rsp + 0x1a0]
xor r14d, r14d
test r12d, r12d
jne 0x140027804
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_strlen
mov r14d, eax
lea rcx, [rsp + 0x110]
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
call sub.msvcrt.dll_strlen
mov edx, dword [rsp + 0xc8]
lea ecx, [rbp + r14 + 1]
add ecx, edx
add ecx, eax
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0x6f
jne 0x140027856
cmp byte [rax + 1], 0x70
jne 0x140027856
mov al, byte [rax + 2]
cmp al, 0x24
je 0x140027f9c
cmp al, 0x2e
je 0x140027f9c
call fcn.1400d4a13
mov rbp, rax
test r12d, r12d
je 0x140027868
mov byte [rax], 0
jmp 0x140027875
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rbp
call sub.msvcrt.dll_strlen
lea rdx, [rsp + 0x110]
mov rcx, rbp
mov r12d, eax
call sub.msvcrt.dll_strcat
test r13, r13
je 0x1400278a0
mov rdx, r13
mov rcx, rbp
call sub.msvcrt.dll_strcat
mov rdx, qword [rsp + 0x48]
mov rcx, rbp
call sub.msvcrt.dll_strcat
jmp 0x1400278b7
mov rbp, qword [rsp + 0x48]
xor r12d, r12d
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
mov eax, esi
sete dl
and eax, 1
mov esi, edx
or sil, al
je 0x1400278eb
mov ecx, 8
call fcn.1400d4a13
mov r9, rax
xor eax, eax
mov qword [r9], rax
xor eax, eax
mov dword [rsp + 0x20], eax
jmp 0x140027de5
mov qword [rsp + 0x100], rbp
cmp byte [rbp], 0x5f
jne 0x1400279a6
cmp byte [rbp + 1], 0x5a
jne 0x1400279a6
lea r8, [rsp + 0x110]
mov edx, 3
mov rcx, rbp
call fcn.1400cbfe3
test rax, rax
jne 0x14002792e
mov rcx, rbp
call fcn.140023eef
jmp 0x140027f9c
cmp dword [rax], 3
jne 0x14002793c
mov rax, qword [rax + 0x18]
cmp dword [rax], 0x29
je 0x140027963
mov ecx, 2
call qword [fcn.1400e7db0]
lea rdx, str.Demangled_name_is_not_a_function_n
mov rcx, rax
call fcn.140023dba
mov rcx, qword [rsp + 0x110]
jmp 0x140027dc6
mov r8, qword [rax + 0x18]
mov rdx, qword [rsp + 0x198]
lea r9, [rsp + 0xff]
mov rcx, qword [rsp + 0x190]
call fcn.140024c5a
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xc8], rax
call sub.msvcrt.dll_free
mov r9, qword [rsp + 0xc8]
jmp 0x140027dd0
mov rax, qword [rsp + 0x190]
xor r13d, r13d
mov ecx, 0xa0
xor r14d, r14d
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x198]
mov byte [rsp + 0x128], 0
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x13c], 0xa
call fcn.1400d4a13
test r12d, r12d
mov dword [rsp + 0x138], r14d
mov r13, qword [rsp + 0x100]
mov qword [rsp + 0x130], rax
je 0x140027a13
add r12, r13
jmp 0x140027a56
mov rcx, r13
mov edx, 0x5f
call sub.msvcrt.dll_strchr
mov r12, rax
test rax, rax
je 0x140027a34
cmp byte [rax + 1], 0x5f
lea rcx, [rax + 1]
jne 0x140027a16
jmp 0x140027a3c
mov rcx, r13
jmp 0x140027abe
lea rdx, [0x1400fdd52]
mov rcx, rax
call sub.msvcrt.dll_strspn
cmp eax, 2
jbe 0x140027a56
sub eax, 2
add r12, rax
mov rcx, qword [rsp + 0x100]
mov al, byte [r12 + 2]
cmp rcx, r12
jne 0x140027ada
mov rcx, qword [0x1401e1c30]
movzx edx, al
test byte [rcx + rdx*2], 4
jne 0x140027a89
cmp al, 0x51
mov rcx, r12
sete dl
cmp al, 0x74
sete al
or dl, al
je 0x140027a97
add r12, 2
mov qword [rsp + 0x100], r12
jmp 0x140027afe
cmp byte [rcx], 0x5f
jne 0x140027aa1
inc rcx
jmp 0x140027a97
lea rdx, [0x1400fdd54]
call sub.msvcrt.dll_strstr
mov r8, rax
test rax, rax
je 0x140027abb
cmp byte [rax + 2], 0
jne 0x140027ac8
mov rcx, r12
call fcn.140023eef
jmp 0x140027dbe
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x110]
jmp 0x140027af1
test al, al
je 0x140027abe
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x110]
mov r8, r12
call fcn.140025db5
test al, al
je 0x140027dbe
mov rax, qword [rsp + 0x100]
cmp byte [rax], 0
mov qword [rsp + 0xc8], rax
jne 0x140027b58
mov rcx, qword [rsp + 0x130]
xor esi, esi
call sub.msvcrt.dll_free
mov qword [rsp + 0x130], rsi
cmp qword [rsp + 0x120], 0
jne 0x140027da6
mov ecx, 2
call qword [fcn.1400e7db0]
lea rdx, str.no_argument_types_in_mangled_string_n
mov rcx, rax
call fcn.140023dba
jmp 0x140027da6
lea rax, [rsp + 0x110]
xor r13d, r13d
xor r14d, r14d
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0xe8], rax
mov r12, qword [rsp + 0x100]
mov al, byte [r12]
test al, al
je 0x140027d6e
cmp al, 0x51
je 0x140027be0
jg 0x140027bc7
cmp al, 0x43
je 0x140027c00
jg 0x140027bba
sub eax, 0x30
cmp al, 9
jbe 0x140027c19
jmp 0x140027d03
cmp al, 0x46
je 0x140027c65
jmp 0x140027d03
cmp al, 0x5f
je 0x140027cf6
cmp al, 0x74
je 0x140027ca9
cmp al, 0x53
je 0x140027c00
jmp 0x140027d03
lea rsi, [rsp + 0x110]
lea rdx, [rsp + 0x100]
xor r8d, r8d
mov rcx, rsi
call fcn.1400258fb
jmp 0x140027ccb
test r14, r14
lea r9, [r12 + 1]
mov qword [rsp + 0x100], r9
cmove r14, r12
jmp 0x140027d32
test r14, r14
lea rcx, [rsp + 0x100]
cmove r14, r12
call fcn.140023c30
mov r13, qword [rsp + 0x100]
mov esi, eax
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rax, rsi
jb 0x140027abb
lea r8, [r13 + rsi]
lea rcx, [rsp + 0x110]
mov rdx, r14
mov qword [rsp + 0x100], r8
sub r8d, r14d
jmp 0x140027ce4
lea r9, [r12 + 1]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x100], r9
lea rdx, [rsp + 0x100]
lea r9, [rsp + 0x128]
lea r8, [rsp + 0x120]
call fcn.140025c27
mov esi, eax
test al, al
je 0x140027dbe
xor r14d, r14d
jmp 0x140027d32
test r14, r14
lea rsi, [rsp + 0x110]
lea rdx, [rsp + 0x100]
cmovne r12, r14
mov rcx, rsi
xor r8d, r8d
call fcn.140025598
test al, al
je 0x140027dbe
mov r8d, dword [rsp + 0x100]
mov rdx, r12
mov rcx, rsi
sub r8d, r12d
call fcn.140023f47
test al, al
jne 0x140028404
jmp 0x140027dbe
mov rcx, qword [rsp + 0xc8]
jmp 0x140027abe
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x100]
lea r9, [rsp + 0x128]
lea r8, [rsp + 0x120]
call fcn.140025c27
mov esi, eax
test al, al
je 0x140027dbe
test r13b, r13b
je 0x140027b8e
mov r9, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0xd8]
call fcn.140025c27
mov r13d, eax
test al, al
je 0x140027dbe
mov esi, eax
jmp 0x140027b8e
test sil, sil
jne 0x140027b13
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x100]
lea r9, [rsp + 0x128]
lea r8, [rsp + 0x120]
call fcn.140025c27
test al, al
jne 0x140027b13
jmp 0x140027dbe
mov al, byte [rsp + 0x128]
mov r9, qword [rsp + 0x120]
mov byte [rsp + 0xff], al
jmp 0x140027dd0
mov rcx, qword [rsp + 0x130]
call sub.msvcrt.dll_free
jmp 0x140027f9c
test r9, r9
je 0x140027f9c
movzx eax, byte [rsp + 0xff]
mov dword [rsp + 0x20], eax
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x190]
call fcn.140021d76
mov rsi, rax
test rax, rax
je 0x140027f9c
mov eax, dword [rsp + 0xb8]
lea r12d, [rax + 1]
mov eax, dword [rsp + 0xbc]
cmp r12d, eax
jb 0x140027e47
add dword [rsp + 0xbc], 0xa
mov edx, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0x70]
shl rdx, 3
call fcn.1400d4a85
mov qword [rsp + 0x70], rax
mov ecx, dword [rsp + 0xb8]
mov r11, qword [rsp + 0x70]
cmp byte [rsp + 0xd6], 0
movzx edx, byte [rsp + 0xd4]
movzx eax, byte [rsp + 0xd5]
lea r13, [r11 + rcx*8]
jne 0x140027eb0
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x28], edx
mov r8, rsi
mov rdx, rbp
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xa0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x190]
call fcn.140021f25
jmp 0x140027ed3
mov dword [rsp + 0x28], edx
mov r8, rsi
mov rdx, rbp
mov r9d, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x190]
call fcn.140021fa1
mov qword [r13], rax
test rax, rax
je 0x140027f9c
mov rax, qword [r15]
mov dl, byte [rax]
cmp dl, 0x3b
je 0x140027efb
test dl, dl
je 0x140027efb
mov dword [rsp + 0xb8], r12d
jmp 0x1400272b6
mov rsi, qword [rsp + 0x70]
xor r11d, r11d
mov qword [rsi + r12*8], r11
cmp byte [rax], 0
je 0x140027f12
inc rax
mov qword [r15], rax
mov eax, dword [rsp + 0xa4]
lea ebx, [rax + 1]
mov eax, dword [rsp + 0xd0]
cmp ebx, eax
jb 0x140027f49
add dword [rsp + 0xd0], 0xa
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x78]
shl rdx, 3
call fcn.1400d4a85
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xa4]
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x190]
lea rsi, [rsi + rax*8]
call fcn.140021f01
mov dword [rsp + 0xa4], ebx
mov qword [rsi], rax
jmp 0x140027201
cmp qword [rsp + 0x78], 0
je 0x140027fbf
mov eax, dword [rsp + 0xa4]
mov rsi, qword [rsp + 0x78]
xor r10d, r10d
mov qword [rsi + rax*8], r10
jmp 0x140027fbf
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
jmp 0x1400280c5
cmp rbx, rdi
jae 0x1400280c5
cmp byte [rbx], 0x3b
jne 0x140027fd4
lea rax, [rbx + 1]
mov qword [r15], rax
mov rax, qword [r15]
cmp byte [rax], 0x7e
jne 0x14002836b
lea rdx, [rax + 1]
mov qword [r15], rdx
mov dl, byte [rax + 1]
cmp dl, 0x3d
ja 0x140028005
mov ecx, 0x40005
shl rcx, 0x2b
bt rcx, rdx
jae 0x140028005
add rax, 2
mov qword [r15], rax
mov rsi, qword [r15]
cmp byte [rsi], 0x25
jne 0x14002836b
inc rsi
lea rdx, [rsp + 0x110]
mov r8, rdi
mov rcx, r15
mov qword [r15], rsi
call fcn.1400245f1
test al, al
je 0x1400280c5
mov ecx, dword [rsp + 0x108]
cmp dword [rsp + 0x110], ecx
jne 0x140028056
mov ecx, dword [rsp + 0x10c]
cmp dword [rsp + 0x114], ecx
je 0x14002836d
xor r9d, r9d
mov qword [r15], rsi
xor r8d, r8d
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x20], r9
mov rcx, qword [rsp + 0x190]
mov r9, r15
mov qword [rsp + 0x28], rdi
call fcn.140025e36
mov rcx, qword [r15]
mov rdx, rax
mov r8b, byte [rcx]
cmp r8b, 0x3b
setne al
test r8b, r8b
setne r9b
and al, r9b
je 0x1400280a2
inc rcx
jmp 0x140028087
cmp r8b, 0x3b
je 0x1400280b2
mov rcx, rbx
call fcn.140023f1b
jmp 0x1400280c5
inc rcx
mov qword [r15], rcx
jmp 0x14002836f
xor r8d, r8d
mov qword [rsp + 0x58], r8
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
jmp 0x140026aac
cmp byte [rbx + 1], 0x72
jne case.0x140026049.2
add rbx, 2
mov qword [r15], rbx
cmp rbx, rdi
jae 0x140026aac
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x100]
mov r8, rdi
mov qword [rsp + 0x100], rbx
call fcn.1400245f1
test al, al
je 0x140026aac
mov eax, dword [rsp + 0x110]
or eax, dword [rsp + 0x114]
jne 0x140028178
mov rax, qword [r15]
cmp byte [rax], 0x3d
je 0x140028178
mov rcx, qword [rsp + 0x190]
lea rdx, [0x1400fd675]
call fcn.14002220b
mov rsi, rax
test rax, rax
jne 0x14002816b
mov rcx, qword [rsp + 0x190]
xor r8d, r8d
mov edx, 4
call fcn.1400219e7
mov rsi, rax
test rax, rax
je 0x140026aac
mov rax, qword [rsp + 0x100]
mov qword [r15], rax
jmp 0x1400281a2
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rsi, rax
mov rax, qword [r15]
cmp byte [rax], 0x3b
jne 0x14002824a
lea rdx, [rax + 1]
mov qword [r15], rdx
movzx edx, byte [rax + 1]
mov rcx, rdx
mov dx, word [r12 + rdx*2]
shr dx, 2
xor edx, 1
test cl, cl
setne r13b
cmp cl, 0x2d
setne cl
and r13d, ecx
and r13b, dl
je 0x1400281e3
add rax, 2
mov qword [r15], rax
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov rdx, qword [r15]
mov r14, rax
cmp byte [rdx], 0x3b
jne 0x14002824a
lea rax, [rdx + 1]
mov qword [r15], rax
movzx eax, byte [rdx + 1]
mov cx, word [r12 + rax*2]
mov r8, rax
shr cx, 2
xor ecx, 1
cmp al, 0x2d
setne al
test r8b, r8b
setne r8b
and eax, r8d
and al, cl
je 0x140028232
add rdx, 2
mov r13d, eax
mov qword [r15], rdx
xor edx, edx
mov r8, rdi
mov rcx, r15
call fcn.140024522
mov r12, rax
mov rax, qword [r15]
cmp byte [rax], 0x3b
je 0x140028252
mov rcx, rbx
jmp 0x140026aa7
inc rax
xor edx, edx
mov rcx, qword [rsp + 0x190]
mov r9, r15
mov qword [r15], rax
xor r8d, r8d
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x198]
mov qword [rsp + 0x28], rdi
call fcn.140025e36
mov rdx, rax
test rax, rax
je 0x140026aac
xor eax, eax
test r13b, r13b
movzx ebp, bpl
mov r8, rsi
cmove rax, r14
mov dword [rsp + 0x28], ebp
mov rcx, qword [rsp + 0x190]
mov r9, rax
mov rax, 0xffffffffffffffff
cmovne r12, rax
mov qword [rsp + 0x20], r12
call fcn.140021c5c
jmp 0x140026320
xor eax, eax
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov r9, r15
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.140025e36
mov rcx, qword [rsp + 0x190]
movzx r8d, bpl
mov rdx, rax
call fcn.140021cd2
jmp 0x140026320
test rbx, rbx
je 0x140026aac
cmp dword [rsp + 0x108], 0xffffffff
je 0x140028338
mov rcx, qword [rsp + 0x198]
lea rdx, [rsp + 0x108]
call fcn.140023e0f
test rax, rax
je 0x140026aac
mov qword [rax], rbx
cmp dword [rsp + 0x8c], 0xffffffff
je 0x140028414
mov r8d, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x190]
mov rdx, rbx
call fcn.1400221be
test al, al
jne 0x140028414
jmp 0x140026aac
xor eax, eax
xor edx, edx
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x90]
xor r10d, r10d
cmp byte [rsp + 0x50], 0x73
sete r10b
or rcx, rdi
or rcx, rdx
je 0x1400283d5
movzx eax, al
mov qword [rsp + 0x30], rdx
mov r9, qword [rsp + 0x58]
mov edx, r10d
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x78]
mov r8, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x190]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.140021a78
jmp 0x140026320
mov dil, byte [rsp + 0xd7]
or dil, al
jne 0x140028390
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc0]
mov edx, r10d
mov rcx, qword [rsp + 0x190]
call fcn.140021a25
jmp 0x140026320
xor r14d, r14d
jmp 0x140027d3b
mov rcx, r13
jmp 0x140026aa7
mov rax, rbx
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret