Function at 0x1400a44d0
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 0x1400a3fad
mov r8, rdi
xor edx, edx
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
test edx, edx
je 0x1400a40b0
cmp eax, 0x24
jne 0x1400a3fd2
mov r8, rdi
lea edx, [rax - 0x23]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
cmp eax, 0x26
jne 0x1400a4093
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.1400195a0
mov edx, dword [rsp + 0x38]
lea eax, [rdx + 2]
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x3c]
jle 0x1400a4012
lea rcx, [rsp + 0x30]
call fcn.140019200
mov rcx, qword [rsp + 0x30]
lea r8, [0x140134b84]
mov r9d, 2
mov eax, 0x3f
mov edx, r9d
mov word [rsp + 0x20], ax
call fcn.140010ce0
mov r8d, 1
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140020730
mov rcx, qword [rsp + 0x30]
movzx esi, al
test rcx, rcx
je 0x1400a405b
call fcn.1400443e0
test sil, sil
mov r8, rdi
mov rsi, qword [rsp + 0x50]
mov rcx, rbx
je 0x1400a407f
mov edx, 2
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
mov edx, 3
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
cmp eax, 0x44
jne 0x1400a40b3
mov r8, rdi
lea edx, [rax - 0x40]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
mov eax, r8d
cmp eax, 0x23
jne 0x1400a40d0
mov r8, rdi
lea edx, [rax - 0x1e]
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
cmp ecx, 0x16
jne 0x1400a40ed
lea edx, [rcx - 0x10]
mov r8, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
cmp ecx, 0x19
jne 0x1400a410a
lea edx, [rcx - 0x12]
mov r8, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
jmp 0x1400a44d0
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 [0x1401674b8]
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 0x1400a45c1
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
call fcn.140089d70
cmp eax, 0x10
jne 0x1400a46f9
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 0x1400a4536
mov dword [rbp - 0xd], ebx
jmp 0x1400a4556
xor r8d, r8d
lea rcx, [rbp - 0x19]
mov edx, esi
call fcn.140018ed0
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.14001f9a0
mov edx, 0x5f
lea rcx, [rbp - 0x19]
lea r8d, [rdx - 0x30]
call fcn.14001f9a0
mov eax, dword [rbp - 0x11]
test eax, eax
je 0x1400a458a
mov r14, qword [rbp - 0x19]
lea ebx, [rax - 1]
jmp 0x1400a4591
lea r14, [0x14011c560]
lea r8, [rbp + 7]
mov edx, ebx
mov rcx, r14
call fcn.14007cd70
test al, al
jne 0x1400a45ae
mov rcx, qword [rbp - 0x19]
xor bl, bl
jmp 0x1400a6037
movaps xmm0, xmmword [rbp + 7]
mov bl, 1
mov rcx, qword [rbp - 0x19]
movups xmmword [r15], xmm0
jmp 0x1400a6037
xor ebx, ebx
cmp esi, 7
jne 0x1400a4700
cmp dword [rcx + 8], ebx
je 0x1400a45d6
mov r14, qword [rcx]
jmp 0x1400a45dd
lea r14, [0x14011c560]
movzx r10d, word [r14]
mov rax, rbx
mov r9d, ebx
mov r8, rbx
test r10w, r10w
je 0x1400a46db
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 0x1400a4675
movzx ecx, r10w
sub ecx, 0x30
jmp 0x1400a4686
lea eax, [r10 - 0x41]
cmp ax, 0x19
ja 0x1400a46f9
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 0x1400a4610
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 0x1400a6044
xor al, al
jmp 0x1400a6044
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.1400195a0
lea r14, [0x14011c560]
mov eax, 8
test esi, esi
jne 0x1400a4784
lea rax, [rbp - 0x49]
cmp rax, rdi
je 0x1400a5c9e
movsxd rsi, dword [rdi + 8]
mov rdi, qword [rdi]
mov r8d, dword [rbp - 0x3d]
mov dword [rbp - 0x41], esi
test esi, esi
jne 0x1400a4762
test r8d, r8d
jne 0x1400a4762
mov dword [rbp - 0x3d], ebx
jmp 0x1400a5ca1
mov edx, esi
lea rcx, [rbp - 0x49]
call fcn.140018ed0
mov rcx, qword [rbp - 0x49]
mov r8, rsi
add r8, r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400a5c9e
cmp esi, 1
jne 0x1400a4b36
mov rcx, qword [rdi]
cmp word [rcx + 0x10], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x1a], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x24], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x2e], 0x2d
jne 0x1400a6023
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 0x1400a47dc
mov esi, edx
jmp 0x1400a47e1
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 0x1400a485a
test esi, esi
jle 0x1400a485a
cmp word [r13], bx
je 0x1400a485a
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a483c
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4866
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a487f
mov rcx, r12
call fcn.1400443e0
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 0x1400a48a2
mov esi, ecx
jmp 0x1400a48ac
mov eax, 0xd
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a48b5
mov rax, qword [rdi]
jmp 0x1400a48b8
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 0x1400a4927
test esi, esi
jle 0x1400a4927
cmp word [r13], bx
je 0x1400a4927
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4909
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4933
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a494c
mov rcx, r12
call fcn.1400443e0
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 0x1400a4972
mov esi, ecx
jmp 0x1400a497c
mov edx, 0x12
cmp esi, edx
cmovg esi, edx
test r8d, r8d
je 0x1400a4986
mov rax, qword [rdi]
jmp 0x1400a4989
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 0x1400a49f8
test esi, esi
jle 0x1400a49f8
cmp word [r13], bx
je 0x1400a49f8
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a49da
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4a04
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4a1d
mov rcx, r12
call fcn.1400443e0
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 0x1400a4a40
mov esi, eax
jmp 0x1400a4a4a
mov ecx, 0x17
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4a53
mov rcx, qword [rdi]
jmp 0x1400a4a56
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 0x1400a4ac5
test esi, esi
jle 0x1400a4ac5
cmp word [r13], bx
je 0x1400a4ac5
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4aa7
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4ad1
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4aea
mov rcx, r12
call fcn.1400443e0
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 0x1400a4b10
mov esi, eax
jmp 0x1400a4b1a
mov ecx, 0x24
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4b2a
mov rcx, qword [rdi]
lea r12, [rcx + r8*2]
jmp 0x1400a5c15
mov rcx, r14
lea r12, [rcx + r8*2]
jmp 0x1400a5c15
cmp esi, 2
jne 0x1400a4eeb
mov rcx, qword [rdi]
cmp word [rcx], 0x7b
jne 0x1400a6023
cmp word [rcx + 0x12], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x1c], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x26], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x30], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x4a], 0x7d
jne 0x1400a6023
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 0x1400a4ba9
mov esi, edx
jmp 0x1400a4bb3
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 0x1400a4c2c
test esi, esi
jle 0x1400a4c2c
cmp word [r13], bx
je 0x1400a4c2c
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4c0e
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4c38
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4c51
mov rcx, r12
call fcn.1400443e0
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 0x1400a4c74
mov esi, ecx
jmp 0x1400a4c7e
mov eax, 0xe
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a4c87
mov rax, qword [rdi]
jmp 0x1400a4c8a
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 0x1400a4cf9
test esi, esi
jle 0x1400a4cf9
cmp word [r13], bx
je 0x1400a4cf9
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4cdb
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4d05
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4d1e
mov rcx, r12
call fcn.1400443e0
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 0x1400a4d41
mov esi, eax
jmp 0x1400a4d4b
mov ecx, 0x13
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a4d54
mov rcx, qword [rdi]
jmp 0x1400a4d57
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 0x1400a4dc6
test esi, esi
jle 0x1400a4dc6
cmp word [r13], bx
je 0x1400a4dc6
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4da8
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4dd2
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4deb
mov rcx, r12
call fcn.1400443e0
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 0x1400a4e0e
mov esi, eax
jmp 0x1400a4e1b
cmp esi, 0x18
mov r8d, 0x18
cmovg esi, r8d
test ecx, ecx
je 0x1400a4e24
mov rcx, qword [rdi]
jmp 0x1400a4e27
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 0x1400a4e96
test esi, esi
jle 0x1400a4e96
cmp word [r13], bx
je 0x1400a4e96
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a4e78
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a4ea2
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a4ebb
mov rcx, r12
call fcn.1400443e0
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 0x1400a4ee1
mov esi, eax
jmp 0x1400a4b1a
mov ecx, 0x25
jmp 0x1400a4b15
cmp esi, 3
jne 0x1400a4f61
mov rcx, qword [rdi]
cmp word [rcx], 0x28
jne 0x1400a6023
cmp word [rcx + 0x12], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x1c], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x26], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x30], 0x2d
jne 0x1400a6023
cmp word [rcx + 0x4a], 0x29
jne 0x1400a6023
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 0x1400a4ba9
mov esi, edx
jmp 0x1400a4bb3
cmp esi, 4
jne 0x1400a5948
mov rcx, qword [rdi]
cmp word [rcx], 0x7b
jne 0x1400a6023
cmp word [rcx + 2], 0x30
jne 0x1400a6023
cmp word [rcx + 4], 0x78
jne 0x1400a6023
cmp word [rcx + 0x16], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x18], 0x30
jne 0x1400a6023
cmp word [rcx + 0x1a], 0x78
jne 0x1400a6023
cmp word [rcx + 0x24], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x26], 0x30
jne 0x1400a6023
cmp word [rcx + 0x28], 0x78
jne 0x1400a6023
cmp word [rcx + 0x32], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x34], 0x7b
jne 0x1400a6023
cmp word [rcx + 0x36], 0x30
jne 0x1400a6023
cmp word [rcx + 0x38], 0x78
jne 0x1400a6023
cmp word [rcx + 0x3e], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x40], 0x30
jne 0x1400a6023
cmp word [rcx + 0x42], 0x78
jne 0x1400a6023
cmp word [rcx + 0x48], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x4a], 0x30
jne 0x1400a6023
cmp word [rcx + 0x4c], 0x78
jne 0x1400a6023
cmp word [rcx + 0x52], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x54], 0x30
jne 0x1400a6023
cmp word [rcx + 0x56], 0x78
jne 0x1400a6023
cmp word [rcx + 0x5c], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x5e], 0x30
jne 0x1400a6023
cmp word [rcx + 0x60], 0x78
jne 0x1400a6023
cmp word [rcx + 0x66], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x68], 0x30
jne 0x1400a6023
cmp word [rcx + 0x6a], 0x78
jne 0x1400a6023
cmp word [rcx + 0x70], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x72], 0x30
jne 0x1400a6023
cmp word [rcx + 0x74], 0x78
jne 0x1400a6023
cmp word [rcx + 0x7a], 0x2c
jne 0x1400a6023
cmp word [rcx + 0x7c], 0x30
jne 0x1400a6023
cmp word [rcx + 0x7e], 0x78
jne 0x1400a6023
cmp word [rcx + 0x84], 0x7d
jne 0x1400a6023
cmp word [rcx + 0x86], 0x7d
jne 0x1400a6023
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 0x1400a5124
mov esi, edx
jmp 0x1400a512e
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 0x1400a51a7
test esi, esi
jle 0x1400a51a7
cmp word [r13], bx
je 0x1400a51a7
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5189
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a51b3
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a51cc
mov rcx, r12
call fcn.1400443e0
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 0x1400a51f2
mov esi, ecx
jmp 0x1400a51fc
mov edx, 0x12
cmp esi, edx
cmovg esi, edx
test r8d, r8d
je 0x1400a5206
mov rax, qword [rdi]
jmp 0x1400a5209
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 0x1400a5278
test esi, esi
jle 0x1400a5278
cmp word [r13], bx
je 0x1400a5278
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a525a
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5284
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a529d
mov rcx, r12
call fcn.1400443e0
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 0x1400a52c0
mov esi, eax
jmp 0x1400a52ca
mov ecx, 0x19
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a52d3
mov rcx, qword [rdi]
jmp 0x1400a52d6
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 0x1400a5345
test esi, esi
jle 0x1400a5345
cmp word [r13], bx
je 0x1400a5345
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5327
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5351
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a536a
mov rcx, r12
call fcn.1400443e0
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 0x1400a538d
mov esi, eax
jmp 0x1400a539a
mov r8d, 0x1f
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a53a3
mov rcx, qword [rdi]
jmp 0x1400a53a6
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 0x1400a5415
test esi, esi
jle 0x1400a5415
cmp word [r13], bx
je 0x1400a5415
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a53f7
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5421
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a543a
mov rcx, r12
call fcn.1400443e0
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 0x1400a545d
mov esi, eax
jmp 0x1400a5467
mov ecx, 0x24
cmp esi, ecx
cmovg esi, ecx
test edx, edx
je 0x1400a5470
mov rcx, qword [rdi]
jmp 0x1400a5473
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 0x1400a54e2
test esi, esi
jle 0x1400a54e2
cmp word [r13], bx
je 0x1400a54e2
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a54c4
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a54ee
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5507
mov rcx, r12
call fcn.1400443e0
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 0x1400a552a
mov esi, eax
jmp 0x1400a5537
mov r8d, 0x29
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5540
mov rcx, qword [rdi]
jmp 0x1400a5543
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 0x1400a55b2
test esi, esi
jle 0x1400a55b2
cmp word [r13], bx
je 0x1400a55b2
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5594
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a55be
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a55d7
mov rcx, r12
call fcn.1400443e0
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 0x1400a55fa
mov esi, eax
jmp 0x1400a5607
mov r8d, 0x2e
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5610
mov rcx, qword [rdi]
jmp 0x1400a5613
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 0x1400a5682
test esi, esi
jle 0x1400a5682
cmp word [r13], bx
je 0x1400a5682
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5664
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a568e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a56a7
mov rcx, r12
call fcn.1400443e0
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 0x1400a56ca
mov esi, eax
jmp 0x1400a56d7
mov r8d, 0x33
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a56e0
mov rcx, qword [rdi]
jmp 0x1400a56e3
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 0x1400a5752
test esi, esi
jle 0x1400a5752
cmp word [r13], bx
je 0x1400a5752
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5734
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a575e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5777
mov rcx, r12
call fcn.1400443e0
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 0x1400a579a
mov esi, eax
jmp 0x1400a57a7
mov r8d, 0x38
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a57b0
mov rcx, qword [rdi]
jmp 0x1400a57b3
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 0x1400a5822
test esi, esi
jle 0x1400a5822
cmp word [r13], bx
je 0x1400a5822
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5804
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a582e
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5847
mov rcx, r12
call fcn.1400443e0
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 0x1400a586a
mov esi, eax
jmp 0x1400a5877
mov r8d, 0x3d
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5880
mov rcx, qword [rdi]
jmp 0x1400a5883
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 0x1400a58f2
test esi, esi
jle 0x1400a58f2
cmp word [r13], bx
je 0x1400a58f2
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a58d4
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a58fe
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5917
mov rcx, r12
call fcn.1400443e0
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 0x1400a593d
mov esi, eax
jmp 0x1400a5c05
mov r8d, 0x42
jmp 0x1400a5bfe
cmp esi, 5
jne 0x1400a5c9e
mov rdx, qword [rdi]
cmp word [rdx + 0x10], 0x2d
jne 0x1400a6023
cmp word [rdx + 0x22], 0x2d
jne 0x1400a6023
cmp word [rdx + 0x34], 0x2d
jne 0x1400a6023
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 0x1400a5995
mov esi, ecx
jmp 0x1400a599a
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 0x1400a5a13
test esi, esi
jle 0x1400a5a13
cmp word [r13], bx
je 0x1400a5a13
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a59f5
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5a1f
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5a38
mov rcx, r12
call fcn.1400443e0
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 0x1400a5a5b
mov esi, ecx
jmp 0x1400a5a65
mov eax, 0x11
cmp esi, eax
cmovg esi, eax
test edx, edx
je 0x1400a5a6e
mov rax, qword [rdi]
jmp 0x1400a5a71
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 0x1400a5ae0
test esi, esi
jle 0x1400a5ae0
cmp word [r13], bx
je 0x1400a5ae0
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5ac2
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5aec
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5b05
mov rcx, r12
call fcn.1400443e0
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 0x1400a5b28
mov esi, eax
jmp 0x1400a5b35
mov r8d, 0x1a
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5b3e
mov rcx, qword [rdi]
jmp 0x1400a5b41
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 0x1400a5bb0
test esi, esi
jle 0x1400a5bb0
cmp word [r13], bx
je 0x1400a5bb0
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, esi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5b92
lea rcx, [rbp - 0x59]
call fcn.140019200
mov r15d, dword [rbp - 0x51]
mov r12, qword [rbp - 0x59]
mov rdx, r13
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.140032f60
movsxd rax, r15d
mov word [r12 + rax*2 - 2], bx
lea r8d, [r15 - 1]
test r15d, r15d
jne 0x1400a5bbc
mov r8d, ebx
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r12, r12
je 0x1400a5bd5
mov rcx, r12
call fcn.1400443e0
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 0x1400a5bf8
mov esi, eax
jmp 0x1400a5c05
mov r8d, 0x23
cmp esi, r8d
cmovg esi, r8d
test ecx, ecx
je 0x1400a5c0e
mov rcx, qword [rdi]
jmp 0x1400a5c11
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 0x1400a5c7a
test esi, esi
jle 0x1400a5c7a
cmp word [r12], bx
je 0x1400a5c7a
lea edx, [rsi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea edi, [rdx + 1]
add edi, esi
mov dword [rbp - 0x51], edi
cmp edi, dword [rbp - 0x4d]
jle 0x1400a5c5c
lea rcx, [rbp - 0x59]
call fcn.140019200
mov edi, dword [rbp - 0x51]
mov r15, qword [rbp - 0x59]
mov rdx, r12
movsxd r8, esi
mov rcx, r15
add r8, r8
call fcn.140032f60
movsxd rax, edi
mov word [r15 + rax*2 - 2], bx
lea r8d, [rdi - 1]
test edi, edi
jne 0x1400a5c85
mov r8d, ebx
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.14001cc30
test r15, r15
je 0x1400a5c9e
mov rcx, r15
call fcn.1400443e0
mov esi, dword [rbp - 0x41]
mov edi, ebx
mov r15, rbx
lea eax, [rsi - 1]
test esi, esi
jne 0x1400a5caf
mov eax, ebx
cmp edi, eax
jge 0x1400a5cd5
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 0x1400a6023
mov esi, dword [rbp - 0x41]
inc edi
add r15, 2
jmp 0x1400a5ca6
lea edi, [rsi - 1]
test esi, esi
jne 0x1400a5cde
mov edi, ebx
cmp edi, 0x18
mov ecx, edi
mov r9d, 0x18
cmovg ecx, r9d
movsxd rdx, ecx
cmp ecx, 0x20
jle 0x1400a5cf9
mov edi, ecx
jmp 0x1400a5d04
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 0x1400a5d8e
test edi, edi
jle 0x1400a5d8e
cmp word [r13], bx
je 0x1400a5d8e
lea edx, [rdi + 1]
lea rcx, [rbp - 0x59]
call fcn.1400195a0
mov edx, dword [rbp - 0x51]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x51], r15d
cmp r15d, dword [rbp - 0x4d]
jle 0x1400a5d63
lea rcx, [rbp - 0x59]
call fcn.140019200
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.140032f60
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 0x1400a5da5
mov edi, ebx
mov r8d, 0x10
mov ecx, edi
cmp edi, r8d
cmovg ecx, r8d
movsxd rdx, ecx
cmp ecx, 0x18
jle 0x1400a5dc0
mov edi, ecx
jmp 0x1400a5dc7
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 0x1400a5e49
test edi, edi
jle 0x1400a5e49
cmp word [r12], bx
je 0x1400a5e49
lea edx, [rdi + 1]
lea rcx, [rbp - 0x29]
call fcn.1400195a0
mov edx, dword [rbp - 0x21]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x21], r15d
cmp r15d, dword [rbp - 0x1d]
jle 0x1400a5e22
lea rcx, [rbp - 0x29]
call fcn.140019200
mov r15d, dword [rbp - 0x21]
mov r13, qword [rbp - 0x29]
mov rdx, r12
movsxd r8, edi
mov rcx, r13
add r8, r8
call fcn.140032f60
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 0x1400a5e60
mov edi, ebx
cmp edi, 8
mov ecx, edi
mov r9d, 8
cmovg ecx, r9d
movsxd rdx, ecx
cmp ecx, 0x10
jle 0x1400a5e7b
mov edi, ecx
jmp 0x1400a5e82
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 0x1400a5f07
test edi, edi
jle 0x1400a5f07
cmp word [rax], bx
je 0x1400a5f07
lea edx, [rdi + 1]
lea rcx, [rbp - 0x39]
call fcn.1400195a0
mov edx, dword [rbp - 0x31]
lea r15d, [rdx + 1]
add r15d, edi
mov dword [rbp - 0x31], r15d
cmp r15d, dword [rbp - 0x2d]
jle 0x1400a5edf
lea rcx, [rbp - 0x39]
call fcn.140019200
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.140032f60
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 0x1400a5f1e
mov edi, ebx
test edi, edi
mov ecx, edi
cmovg ecx, ebx
movsxd rdx, ecx
cmp ecx, 8
jle 0x1400a5f31
mov edi, ecx
jmp 0x1400a5f38
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 0x1400a5fae
test edi, edi
jle 0x1400a5fae
cmp word [rax], bx
je 0x1400a5fae
lea edx, [rdi + 1]
lea rcx, [rbp + 7]
call fcn.1400195a0
mov edx, dword [rbp + 0xf]
lea esi, [rdx + 1]
add esi, edi
mov dword [rbp + 0xf], esi
cmp esi, dword [rbp + 0x13]
jle 0x1400a5f8f
lea rcx, [rbp + 7]
call fcn.140019200
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.140032f60
movsxd rax, esi
mov word [r15 + rax*2 - 2], bx
mov rcx, qword [rbp - 0x39]
test esi, esi
cmovne r14, r15
call fcn.1400a05b0
mov rcx, qword [rbp - 0x29]
mov esi, eax
call fcn.1400a05b0
mov rcx, qword [rbp - 0x59]
mov edi, eax
call fcn.1400a05b0
mov rcx, r14
mov ebx, eax
call fcn.1400a05b0
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 0x1400a5ff9
mov rcx, r15
call fcn.1400443e0
test r12, r12
je 0x1400a6006
mov rcx, r12
call fcn.1400443e0
test r13, r13
je 0x1400a6013
mov rcx, r13
call fcn.1400443e0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400a6021
call fcn.1400443e0
mov bl, 1
mov rcx, qword [rbp - 0x49]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xe8]
test rcx, rcx
je 0x1400a6041
call fcn.1400443e0
movzx eax, bl
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14010f980
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret