Function at 0x1400a43b0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
xor r8d, r8d
mov rbx, rcx
mov rdi, rdx
mov edx, dword [rcx + 8]
test edx, edx
lea eax, [rdx - 1]
mov ecx, eax
cmove ecx, r8d
cmp ecx, 0x20
jne 0x1400a3e8d
mov r8, rdi
xor edx, edx
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
test edx, edx
je 0x1400a3f90
cmp eax, 0x24
jne 0x1400a3eb2
mov r8, rdi
lea edx, [rax - 0x23]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
cmp eax, 0x26
jne 0x1400a3f73
lea edx, [rax - 0x24]
mov qword [rsp + 0x50], rsi
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r8
call fcn.140019590
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 2]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400a3ef2
lea rcx, [rsp + 0x30]
call fcn.1400191f0
mov rcx, qword [rsp + 0x30]
lea r8, [0x140133b24]
mov r9d, 2
mov eax, 0x3f
mov edx, r9d
mov word [rsp + 0x20], ax
call fcn.140010cd0
mov r8d, 1
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140020720
mov rcx, qword [rsp + 0x30]
movzx esi, al
test rcx, rcx
je 0x1400a3f3b
call fcn.140044390
test sil, sil
mov r8, rdi
mov rsi, qword [rsp + 0x50]
mov rcx, rbx
je 0x1400a3f5f
mov edx, 2
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
mov edx, 3
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
cmp eax, 0x44
jne 0x1400a3f93
mov r8, rdi
lea edx, [rax - 0x40]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
mov eax, r8d
cmp eax, 0x23
jne 0x1400a3fb0
mov r8, rdi
lea edx, [rax - 0x1e]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
cmp ecx, 0x16
jne 0x1400a3fcd
lea edx, [rcx - 0x10]
mov r8, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
cmp ecx, 0x19
jne 0x1400a3fea
lea edx, [rcx - 0x12]
mov r8, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a43b0
mov rbx, qword [rsp + 0x58]
xor al, al
add rsp, 0x40
pop rdi
ret
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xa8
mov rax, qword [0x1401664b8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x19], r8
mov r15, r8
mov esi, edx
mov rdi, rcx
cmp edx, 6
jne 0x1400a44a1
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
call fcn.140089d20
cmp eax, 0x10
jne 0x1400a45d9
movsxd rsi, dword [rdi + 8]
xor ebx, ebx
mov rdi, qword [rdi]
mov qword [rbp - 0x19], rbx
mov dword [rbp - 0x11], esi
test esi, esi
jne 0x1400a4416
mov dword [rbp - 0xd], ebx
jmp 0x1400a4436
xor r8d, r8d
lea rcx, [rbp - 0x19]
mov edx, esi
call fcn.140018ec0
mov rcx, qword [rbp - 0x19]
mov r8, rsi
add r8, r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov edx, 0x2d
lea rcx, [rbp - 0x19]
lea r8d, [rdx - 2]
call fcn.14001f990
mov edx, 0x5f
lea rcx, [rbp - 0x19]
lea r8d, [rdx - 0x30]
call fcn.14001f990
mov eax, dword [rbp - 0x11]
test eax, eax
je 0x1400a446a
mov r14, qword [rbp - 0x19]
lea ebx, [rax - 1]
jmp 0x1400a4471
lea r14, [0x14011b550]
lea r8, [rbp + 7]
mov edx, ebx
mov rcx, r14
call fcn.14007cd20
test al, al
jne 0x1400a448e
mov rcx, qword [rbp - 0x19]
xor bl, bl
jmp 0x1400a5f17
movaps xmm0, xmmword [rbp + 7]
mov bl, 1
mov rcx, qword [rbp - 0x19]
movups xmmword [r15], xmm0
jmp 0x1400a5f17
xor ebx, ebx
cmp esi, 7
jne 0x1400a45e0
cmp dword [rcx + 8], ebx
je 0x1400a44b6
mov r14, qword [rcx]
jmp 0x1400a44bd
lea r14, [0x14011b550]
movzx r10d, word [r14]
mov rax, rbx
mov r9d, ebx
mov r8, rbx
test r10w, r10w
je 0x1400a45bb
movabs rsi, 0x2400000000
movabs rdi, 0xffffffff00000000
nop dword [rax + rax]
shr r8, 0x20
imul r8, rsi
mov eax, ebx
lea rcx, [rax + rax*8]
mov rax, rbx
shr rax, 0x20
shl rcx, 2
shr rcx, 0x20
lea rax, [rax + rax*8]
lea rdx, [rcx + rax*4]
mov eax, r9d
mov r11d, edx
lea ecx, [rbx + rbx*8]
shl ecx, 2
shl r11, 0x20
shr rdx, 0x20
or r11, rcx
lea rcx, [rax + rax*8]
lea rdx, [rdx + rcx*4]
mov rax, rdx
and rax, rdi
add r8, rax
mov eax, edx
or r8, rax
lea eax, [r10 - 0x30]
cmp ax, 9
ja 0x1400a4555
movzx ecx, r10w
sub ecx, 0x30
jmp 0x1400a4566
lea eax, [r10 - 0x41]
cmp ax, 0x19
ja 0x1400a45d9
movzx ecx, r10w
sub ecx, 0x37
movzx r10d, word [r14 + 2]
add r14, 2
mov eax, r11d
add rcx, rax
shr r11, 0x20
mov eax, ecx
mov rdx, rcx
shr rdx, 0x20
add rdx, r11
mov ebx, edx
shl rbx, 0x20
or rbx, rax
shr rdx, 0x20
mov eax, r8d
and r8, rdi
add rdx, rax
mov eax, edx
mov r9, rdx
and r9, rdi
add r9, r8
or r9, rax
mov rax, rbx
mov r8, r9
test r10w, r10w
jne 0x1400a44f0
mov ebx, eax
shr rax, 0x20
shr r8, 0x20
mov dword [r15], r8d
mov dword [r15 + 4], r9d
mov dword [r15 + 8], eax
mov al, 1
mov dword [r15 + 0xc], ebx
jmp 0x1400a5f24
xor al, al
jmp 0x1400a5f24
mov qword [rsp + 0xe8], r12
lea rcx, [rbp - 0x49]
mov edx, 0x20
mov qword [rsp + 0xa0], r13
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x41], rbx
call fcn.140019590
lea r14, [0x14011b550]
mov eax, 8
test esi, esi
jne 0x1400a4664
lea rax, [rbp - 0x49]
cmp rax, rdi
je 0x1400a5b7e
movsxd rsi, dword [rdi + 8]
mov rdi, qword [rdi]
mov r8d, dword [rbp - 0x3d]
mov dword [rbp - 0x41], esi
test esi, esi
jne 0x1400a4642
test r8d, r8d
jne 0x1400a4642
mov dword [rbp - 0x3d], ebx
jmp 0x1400a5b81
mov edx, esi
lea rcx, [rbp - 0x49]
call fcn.140018ec0
mov rcx, qword [rbp - 0x49]
mov r8, rsi
add r8, r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400a5b7e
cmp esi, 1
jne 0x1400a4a16
mov rcx, qword [rdi]
cmp word [rcx + 0x10], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x1a], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x24], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x2e], 0x2d
jne 0x1400a5f03
mov r8d, dword [rdi + 8]
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
test esi, esi
mov edx, esi
cmovg edx, ebx
movsxd r9, edx
cmp edx, eax
jle 0x1400a46bc
mov esi, edx
jmp 0x1400a46c1
cmp esi, eax
cmovg esi, eax
test r8d, r8d
mov qword [rbp - 0x59], rbx
mov rax, r14
mov qword [rbp - 0x51], rbx
cmovne rax, rcx
mov r12, rbx
sub esi, edx
mov r15d, ebx
lea r13, [rax + r9*2]
test r13, r13
je 0x1400a473a
test esi, esi
jle 0x1400a473a
cmp word [r13], bx
je 0x1400a473a
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a471c
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4746
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a475f
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov eax, 9
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, eax
mov ecx, esi
cmovg ecx, eax
movsxd r8, ecx
cmp ecx, 0xd
jle 0x1400a4782
mov esi, ecx
jmp 0x1400a478c
mov eax, 0xd
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a4795
mov rax, qword [rdi]
jmp 0x1400a4798
mov rax, r14
lea r13, [rax + r8*2]
mov qword [rbp - 0x59], rbx
sub esi, ecx
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a4807
test esi, esi
jle 0x1400a4807
cmp word [r13], bx
je 0x1400a4807
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a47e9
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4813
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a482c
mov rcx, r12
call fcn.140044390
mov r8d, dword [rdi + 8]
mov eax, 0xe
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
cmp esi, eax
mov ecx, esi
cmovg ecx, eax
movsxd r9, ecx
cmp ecx, 0x12
jle 0x1400a4852
mov esi, ecx
jmp 0x1400a485c
mov edx, 0x12
cmp esi, edx
cmovg esi, edx
test r8d, r8d
je 0x1400a4866
mov rax, qword [rdi]
jmp 0x1400a4869
mov rax, r14
lea r13, [rax + r9*2]
mov qword [rbp - 0x59], rbx
sub esi, ecx
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a48d8
test esi, esi
jle 0x1400a48d8
cmp word [r13], bx
je 0x1400a48d8
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a48ba
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a48e4
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a48fd
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov ecx, 0x13
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, ecx
mov eax, esi
cmovg eax, ecx
movsxd r8, eax
cmp eax, 0x17
jle 0x1400a4920
mov esi, eax
jmp 0x1400a492a
mov ecx, 0x17
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4933
mov rcx, qword [rdi]
jmp 0x1400a4936
mov rcx, r14
lea r13, [rcx + r8*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a49a5
test esi, esi
jle 0x1400a49a5
cmp word [r13], bx
je 0x1400a49a5
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4987
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a49b1
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a49ca
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov r8d, 0x18
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, 0x18
mov eax, esi
cmovg eax, r8d
movsxd r8, eax
cmp eax, 0x24
jle 0x1400a49f0
mov esi, eax
jmp 0x1400a49fa
mov ecx, 0x24
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4a0a
mov rcx, qword [rdi]
lea r12, [rcx + r8*2]
jmp 0x1400a5af5
mov rcx, r14
lea r12, [rcx + r8*2]
jmp 0x1400a5af5
cmp esi, 2
jne 0x1400a4dcb
mov rcx, qword [rdi]
cmp word [rcx], 0x7b
jne 0x1400a5f03
cmp word [rcx + 0x12], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x1c], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x26], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x30], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x4a], 0x7d
jne 0x1400a5f03
mov r8d, dword [rdi + 8]
mov eax, 1
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
cmp esi, eax
mov edx, esi
cmovg edx, eax
movsxd r9, edx
cmp edx, 9
jle 0x1400a4a89
mov esi, edx
jmp 0x1400a4a93
mov eax, 9
cmp esi, eax
cmovg esi, eax
test r8d, r8d
mov qword [rbp - 0x51], rbx
mov rax, r14
mov qword [rbp - 0x59], rbx
cmovne rax, rcx
mov r15d, ebx
sub esi, edx
mov r12, rbx
lea r13, [rax + r9*2]
test r13, r13
je 0x1400a4b0c
test esi, esi
jle 0x1400a4b0c
cmp word [r13], bx
je 0x1400a4b0c
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4aee
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4b18
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a4b31
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov eax, 0xa
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, eax
mov ecx, esi
cmovg ecx, eax
movsxd r8, ecx
cmp ecx, 0xe
jle 0x1400a4b54
mov esi, ecx
jmp 0x1400a4b5e
mov eax, 0xe
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a4b67
mov rax, qword [rdi]
jmp 0x1400a4b6a
mov rax, r14
sub esi, ecx
mov qword [rbp - 0x51], rbx
lea r13, [rax + r8*2]
mov qword [rbp - 0x59], rbx
mov r15d, ebx
mov r12, rbx
test r13, r13
je 0x1400a4bd9
test esi, esi
jle 0x1400a4bd9
cmp word [r13], bx
je 0x1400a4bd9
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4bbb
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4be5
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a4bfe
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov ecx, 0xf
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, ecx
mov eax, esi
cmovg eax, ecx
movsxd r8, eax
cmp eax, 0x13
jle 0x1400a4c21
mov esi, eax
jmp 0x1400a4c2b
mov ecx, 0x13
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4c34
mov rcx, qword [rdi]
jmp 0x1400a4c37
mov rcx, r14
sub esi, eax
mov qword [rbp - 0x51], rbx
lea r13, [rcx + r8*2]
mov qword [rbp - 0x59], rbx
mov r15d, ebx
mov r12, rbx
test r13, r13
je 0x1400a4ca6
test esi, esi
jle 0x1400a4ca6
cmp word [r13], bx
je 0x1400a4ca6
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4c88
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4cb2
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a4ccb
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x14
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x18
jle 0x1400a4cee
mov esi, eax
jmp 0x1400a4cfb
cmp esi, 0x18
mov r8d, 0x18
cmovg esi, r8d
test ecx, ecx
je 0x1400a4d04
mov rcx, qword [rdi]
jmp 0x1400a4d07
mov rcx, r14
sub esi, eax
mov qword [rbp - 0x51], rbx
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
mov r15d, ebx
mov r12, rbx
test r13, r13
je 0x1400a4d76
test esi, esi
jle 0x1400a4d76
cmp word [r13], bx
je 0x1400a4d76
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4d58
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4d82
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a4d9b
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov ecx, 0x19
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, ecx
mov eax, esi
cmovg eax, ecx
movsxd r8, eax
cmp eax, 0x25
jle 0x1400a4dc1
mov esi, eax
jmp 0x1400a49fa
mov ecx, 0x25
jmp 0x1400a49f5
cmp esi, 3
jne 0x1400a4e41
mov rcx, qword [rdi]
cmp word [rcx], 0x28
jne 0x1400a5f03
cmp word [rcx + 0x12], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x1c], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x26], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x30], 0x2d
jne 0x1400a5f03
cmp word [rcx + 0x4a], 0x29
jne 0x1400a5f03
mov r8d, dword [rdi + 8]
mov eax, 1
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
cmp esi, eax
mov edx, esi
cmovg edx, eax
movsxd r9, edx
cmp edx, 9
jle 0x1400a4a89
mov esi, edx
jmp 0x1400a4a93
cmp esi, 4
jne 0x1400a5828
mov rcx, qword [rdi]
cmp word [rcx], 0x7b
jne 0x1400a5f03
cmp word [rcx + 2], 0x30
jne 0x1400a5f03
cmp word [rcx + 4], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x16], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x18], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x1a], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x24], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x26], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x28], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x32], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x34], 0x7b
jne 0x1400a5f03
cmp word [rcx + 0x36], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x38], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x3e], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x40], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x42], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x48], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x4a], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x4c], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x52], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x54], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x56], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x5c], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x5e], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x60], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x66], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x68], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x6a], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x70], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x72], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x74], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x7a], 0x2c
jne 0x1400a5f03
cmp word [rcx + 0x7c], 0x30
jne 0x1400a5f03
cmp word [rcx + 0x7e], 0x78
jne 0x1400a5f03
cmp word [rcx + 0x84], 0x7d
jne 0x1400a5f03
cmp word [rcx + 0x86], 0x7d
jne 0x1400a5f03
mov r8d, dword [rdi + 8]
mov eax, 3
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
cmp esi, eax
mov edx, esi
cmovg edx, eax
movsxd r9, edx
cmp edx, 0xb
jle 0x1400a5004
mov esi, edx
jmp 0x1400a500e
mov eax, 0xb
cmp esi, eax
cmovg esi, eax
test r8d, r8d
mov qword [rbp - 0x59], rbx
mov rax, r14
mov qword [rbp - 0x51], rbx
cmovne rax, rcx
mov r12, rbx
sub esi, edx
mov r15d, ebx
lea r13, [rax + r9*2]
test r13, r13
je 0x1400a5087
test esi, esi
jle 0x1400a5087
cmp word [r13], bx
je 0x1400a5087
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5069
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5093
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a50ac
mov rcx, r12
call fcn.140044390
mov r8d, dword [rdi + 8]
mov eax, 0xe
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
cmp esi, eax
mov ecx, esi
cmovg ecx, eax
movsxd r9, ecx
cmp ecx, 0x12
jle 0x1400a50d2
mov esi, ecx
jmp 0x1400a50dc
mov edx, 0x12
cmp esi, edx
cmovg esi, edx
test r8d, r8d
je 0x1400a50e6
mov rax, qword [rdi]
jmp 0x1400a50e9
mov rax, r14
lea r13, [rax + r9*2]
mov qword [rbp - 0x59], rbx
sub esi, ecx
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5158
test esi, esi
jle 0x1400a5158
cmp word [r13], bx
je 0x1400a5158
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a513a
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5164
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a517d
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov ecx, 0x15
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, ecx
mov eax, esi
cmovg eax, ecx
movsxd r8, eax
cmp eax, 0x19
jle 0x1400a51a0
mov esi, eax
jmp 0x1400a51aa
mov ecx, 0x19
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a51b3
mov rcx, qword [rdi]
jmp 0x1400a51b6
mov rcx, r14
lea r13, [rcx + r8*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5225
test esi, esi
jle 0x1400a5225
cmp word [r13], bx
je 0x1400a5225
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5207
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5231
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a524a
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x1d
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x1f
jle 0x1400a526d
mov esi, eax
jmp 0x1400a527a
mov r8d, 0x1f
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5283
mov rcx, qword [rdi]
jmp 0x1400a5286
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a52f5
test esi, esi
jle 0x1400a52f5
cmp word [r13], bx
je 0x1400a52f5
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a52d7
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5301
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a531a
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov ecx, 0x22
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, ecx
mov eax, esi
cmovg eax, ecx
movsxd r8, eax
cmp eax, 0x24
jle 0x1400a533d
mov esi, eax
jmp 0x1400a5347
mov ecx, 0x24
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a5350
mov rcx, qword [rdi]
jmp 0x1400a5353
mov rcx, r14
lea r13, [rcx + r8*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a53c2
test esi, esi
jle 0x1400a53c2
cmp word [r13], bx
je 0x1400a53c2
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a53a4
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a53ce
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a53e7
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x27
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x29
jle 0x1400a540a
mov esi, eax
jmp 0x1400a5417
mov r8d, 0x29
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5420
mov rcx, qword [rdi]
jmp 0x1400a5423
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5492
test esi, esi
jle 0x1400a5492
cmp word [r13], bx
je 0x1400a5492
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5474
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a549e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a54b7
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x2c
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x2e
jle 0x1400a54da
mov esi, eax
jmp 0x1400a54e7
mov r8d, 0x2e
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a54f0
mov rcx, qword [rdi]
jmp 0x1400a54f3
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5562
test esi, esi
jle 0x1400a5562
cmp word [r13], bx
je 0x1400a5562
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5544
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a556e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a5587
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x31
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x33
jle 0x1400a55aa
mov esi, eax
jmp 0x1400a55b7
mov r8d, 0x33
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a55c0
mov rcx, qword [rdi]
jmp 0x1400a55c3
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5632
test esi, esi
jle 0x1400a5632
cmp word [r13], bx
je 0x1400a5632
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5614
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a563e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a5657
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x36
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x38
jle 0x1400a567a
mov esi, eax
jmp 0x1400a5687
mov r8d, 0x38
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5690
mov rcx, qword [rdi]
jmp 0x1400a5693
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5702
test esi, esi
jle 0x1400a5702
cmp word [r13], bx
je 0x1400a5702
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a56e4
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a570e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a5727
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x3b
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x3d
jle 0x1400a574a
mov esi, eax
jmp 0x1400a5757
mov r8d, 0x3d
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5760
mov rcx, qword [rdi]
jmp 0x1400a5763
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a57d2
test esi, esi
jle 0x1400a57d2
cmp word [r13], bx
je 0x1400a57d2
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a57b4
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a57de
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a57f7
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x40
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x42
jle 0x1400a581d
mov esi, eax
jmp 0x1400a5ae5
mov r8d, 0x42
jmp 0x1400a5ade
cmp esi, 5
jne 0x1400a5b7e
mov rdx, qword [rdi]
cmp word [rdx + 0x10], 0x2d
jne 0x1400a5f03
cmp word [rdx + 0x22], 0x2d
jne 0x1400a5f03
cmp word [rdx + 0x34], 0x2d
jne 0x1400a5f03
mov r8d, dword [rdi + 8]
test r8d, r8d
lea esi, [r8 - 1]
cmove esi, ebx
test esi, esi
mov ecx, esi
cmovg ecx, ebx
movsxd r9, ecx
cmp ecx, eax
jle 0x1400a5875
mov esi, ecx
jmp 0x1400a587a
cmp esi, eax
cmovg esi, eax
test r8d, r8d
mov qword [rbp - 0x59], rbx
mov rax, r14
mov qword [rbp - 0x51], rbx
cmovne rax, rdx
mov r12, rbx
sub esi, ecx
mov r15d, ebx
lea r13, [rax + r9*2]
test r13, r13
je 0x1400a58f3
test esi, esi
jle 0x1400a58f3
cmp word [r13], bx
je 0x1400a58f3
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a58d5
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a58ff
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a5918
mov rcx, r12
call fcn.140044390
mov edx, dword [rdi + 8]
mov eax, 9
test edx, edx
lea esi, [rdx - 1]
cmove esi, ebx
cmp esi, eax
mov ecx, esi
cmovg ecx, eax
movsxd r8, ecx
cmp ecx, 0x11
jle 0x1400a593b
mov esi, ecx
jmp 0x1400a5945
mov eax, 0x11
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a594e
mov rax, qword [rdi]
jmp 0x1400a5951
mov rax, r14
lea r13, [rax + r8*2]
mov qword [rbp - 0x59], rbx
sub esi, ecx
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a59c0
test esi, esi
jle 0x1400a59c0
cmp word [r13], bx
je 0x1400a59c0
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a59a2
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a59cc
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a59e5
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x12
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x1a
jle 0x1400a5a08
mov esi, eax
jmp 0x1400a5a15
mov r8d, 0x1a
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5a1e
mov rcx, qword [rdi]
jmp 0x1400a5a21
mov rcx, r14
lea r13, [rcx + rdx*2]
mov qword [rbp - 0x59], rbx
sub esi, eax
mov qword [rbp - 0x51], rbx
mov r12, rbx
mov r15d, ebx
test r13, r13
je 0x1400a5a90
test esi, esi
jle 0x1400a5a90
cmp word [r13], bx
je 0x1400a5a90
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5a72
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5a9c
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r12, r12
je 0x1400a5ab5
mov rcx, r12
call fcn.140044390
mov ecx, dword [rdi + 8]
mov edx, 0x1b
test ecx, ecx
lea esi, [rcx - 1]
cmove esi, ebx
cmp esi, edx
mov eax, esi
cmovg eax, edx
movsxd rdx, eax
cmp eax, 0x23
jle 0x1400a5ad8
mov esi, eax
jmp 0x1400a5ae5
mov r8d, 0x23
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5aee
mov rcx, qword [rdi]
jmp 0x1400a5af1
mov rcx, r14
lea r12, [rcx + rdx*2]
sub esi, eax
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x59], rbx
mov edi, ebx
mov r15, rbx
test r12, r12
je 0x1400a5b5a
test esi, esi
jle 0x1400a5b5a
cmp word [r12], bx
je 0x1400a5b5a
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea edi, [rdx + 1]
add edi, esi
mov dword [rbp - 0x51], edi
cmp edi, dword [rbp - 0x4d]
jle 0x1400a5b3c
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov edi, dword [rbp - 0x51]
mov r15, qword [rbp - 0x59]
mov rdx, r12
movsxd r8, esi
mov rcx, r15
add r8, r8
call fcn.140032f10
movsxd rax, edi
mov word [r15 + rax*2 - 2], bx
lea r8d, [rdi - 1]
test edi, edi
jne 0x1400a5b65
mov r8d, ebx
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.14001cc20
test r15, r15
je 0x1400a5b7e
mov rcx, r15
call fcn.140044390
mov esi, dword [rbp - 0x41]
mov edi, ebx
mov r15, rbx
lea eax, [rsi - 1]
test esi, esi
jne 0x1400a5b8f
mov eax, ebx
cmp edi, eax
jge 0x1400a5bb5
mov rax, qword [rbp - 0x49]
movzx ecx, word [r15 + rax]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswxdigit]
test eax, eax
je 0x1400a5f03
mov esi, dword [rbp - 0x41]
inc edi
add r15, 2
jmp 0x1400a5b86
lea edi, [rsi - 1]
test esi, esi
jne 0x1400a5bbe
mov edi, ebx
cmp edi, 0x18
mov ecx, edi
mov r9d, 0x18
cmovg ecx, r9d
movsxd rdx, ecx
cmp ecx, 0x20
jle 0x1400a5bd9
mov edi, ecx
jmp 0x1400a5be4
cmp edi, 0x20
mov eax, 0x20
cmovg edi, eax
test esi, esi
mov qword [rbp - 1], rbx
mov rax, r14
mov qword [rbp - 0x59], rbx
cmovne rax, qword [rbp - 0x49]
mov r12, rbx
sub edi, ecx
mov qword [rbp - 0x51], rbx
mov r15d, ebx
lea r13, [rax + rdx*2]
test r13, r13
je 0x1400a5c6e
test edi, edi
jle 0x1400a5c6e
cmp word [r13], bx
je 0x1400a5c6e
lea edx, [rdi + 1]
lea rcx, [rbp - 0x59]
call fcn.140019590
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5c43
lea rcx, [rbp - 0x59]
call fcn.1400191f0
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, edi
mov rcx, r12
add r8, r8
mov qword [rbp - 1], r12
call fcn.140032f10
movsxd rax, r15d
mov r9d, 0x18
mov word [r12 + rax*2 - 2], bx
mov esi, dword [rbp - 0x41]
test r15d, r15d
lea edi, [rsi - 1]
mov rax, r14
cmovne rax, r12
mov qword [rbp - 0x59], rax
test esi, esi
jne 0x1400a5c85
mov edi, ebx
mov r8d, 0x10
mov ecx, edi
cmp edi, r8d
cmovg ecx, r8d
movsxd rdx, ecx
cmp ecx, 0x18
jle 0x1400a5ca0
mov edi, ecx
jmp 0x1400a5ca7
cmp edi, 0x18
cmovg edi, r9d
test esi, esi
mov qword [rbp - 0x29], rbx
mov rax, r14
mov qword [rbp - 0x21], rbx
cmovne rax, qword [rbp - 0x49]
mov r13, rbx
sub edi, ecx
mov r15d, ebx
lea r12, [rax + rdx*2]
test r12, r12
je 0x1400a5d29
test edi, edi
jle 0x1400a5d29
cmp word [r12], bx
je 0x1400a5d29
lea edx, [rdi + 1]
lea rcx, [rbp - 0x29]
call fcn.140019590
mov edx, dword [rbp - 0x21]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x21], r15d
cmp r15d, dword [rbp - 0x1d]
jle 0x1400a5d02
lea rcx, [rbp - 0x29]
call fcn.1400191f0
mov r15d, dword [rbp - 0x21]
mov r13, qword [rbp - 0x29]
mov rdx, r12
movsxd r8, edi
mov rcx, r13
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov r8d, 0x10
mov word [r13 + rax*2 - 2], bx
mov esi, dword [rbp - 0x41]
test r15d, r15d
lea edi, [rsi - 1]
mov rax, r14
cmovne rax, r13
mov qword [rbp - 0x29], rax
test esi, esi
jne 0x1400a5d40
mov edi, ebx
cmp edi, 8
mov ecx, edi
mov r9d, 8
cmovg ecx, r9d
movsxd rdx, ecx
cmp ecx, 0x10
jle 0x1400a5d5b
mov edi, ecx
jmp 0x1400a5d62
cmp edi, 0x10
cmovg edi, r8d
test esi, esi
mov qword [rbp - 0x39], rbx
mov rax, r14
mov qword [rbp - 0x31], rbx
cmovne rax, qword [rbp - 0x49]
mov r12, rbx
sub edi, ecx
mov r15d, ebx
lea rax, [rax + rdx*2]
mov qword [rbp - 9], rax
test rax, rax
je 0x1400a5de7
test edi, edi
jle 0x1400a5de7
cmp word [rax], bx
je 0x1400a5de7
lea edx, [rdi + 1]
lea rcx, [rbp - 0x39]
call fcn.140019590
mov edx, dword [rbp - 0x31]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x31], r15d
cmp r15d, dword [rbp - 0x2d]
jle 0x1400a5dbf
lea rcx, [rbp - 0x39]
call fcn.1400191f0
mov r15d, dword [rbp - 0x31]
mov r12, qword [rbp - 0x39]
mov rdx, qword [rbp - 9]
mov rcx, r12
movsxd r8, edi
add r8, r8
call fcn.140032f10
movsxd rax, r15d
mov r9d, 8
mov word [r12 + rax*2 - 2], bx
mov esi, dword [rbp - 0x41]
test r15d, r15d
lea edi, [rsi - 1]
mov rax, r14
cmovne rax, r12
mov qword [rbp - 0x39], rax
test esi, esi
jne 0x1400a5dfe
mov edi, ebx
test edi, edi
mov ecx, edi
cmovg ecx, ebx
movsxd rdx, ecx
cmp ecx, 8
jle 0x1400a5e11
mov edi, ecx
jmp 0x1400a5e18
cmp edi, 8
cmovg edi, r9d
test esi, esi
mov qword [rbp + 7], rbx
mov rax, r14
mov qword [rbp + 0xf], rbx
cmovne rax, qword [rbp - 0x49]
mov r15, rbx
sub edi, ecx
mov esi, ebx
lea rax, [rax + rdx*2]
mov qword [rbp - 9], rax
test rax, rax
je 0x1400a5e8e
test edi, edi
jle 0x1400a5e8e
cmp word [rax], bx
je 0x1400a5e8e
lea edx, [rdi + 1]
lea rcx, [rbp + 7]
call fcn.140019590
mov edx, dword [rbp + 0xf]
lea esi, [rdx + 1]
add esi, edi
mov dword [rbp + 0xf], esi
cmp esi, dword [rbp + 0x13]
jle 0x1400a5e6f
lea rcx, [rbp + 7]
call fcn.1400191f0
mov esi, dword [rbp + 0xf]
mov r15, qword [rbp + 7]
mov rdx, qword [rbp - 9]
mov rcx, r15
movsxd r8, edi
add r8, r8
call fcn.140032f10
movsxd rax, esi
mov word [r15 + rax*2 - 2], bx
mov rcx, qword [rbp - 0x39]
test esi, esi
cmovne r14, r15
call fcn.1400a0490
mov rcx, qword [rbp - 0x29]
mov esi, eax
call fcn.1400a0490
mov rcx, qword [rbp - 0x59]
mov edi, eax
call fcn.1400a0490
mov rcx, r14
mov ebx, eax
call fcn.1400a0490
mov rcx, qword [rbp - 0x19]
mov dword [rcx], eax
mov dword [rcx + 4], esi
mov dword [rcx + 8], edi
mov dword [rcx + 0xc], ebx
test r15, r15
je 0x1400a5ed9
mov rcx, r15
call fcn.140044390
test r12, r12
je 0x1400a5ee6
mov rcx, r12
call fcn.140044390
test r13, r13
je 0x1400a5ef3
mov rcx, r13
call fcn.140044390
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400a5f01
call fcn.140044390
mov bl, 1
mov rcx, qword [rbp - 0x49]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xe8]
test rcx, rcx
je 0x1400a5f21
call fcn.140044390
movzx eax, bl
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14010f320
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret