Function at 0x1400631f8
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1870
call fcn.1400fc480
sub rsp, rax
mov rax, qword [0x140160370]
xor rax, rsp
mov qword [rsp + 0x1860], rax
mov rbx, rcx
mov qword [rsp + 0x50], rcx
mov rcx, rdx
mov rsi, rdx
call fcn.14000b688
xor ebp, ebp
test al, al
jne 0x1400646c8
movzx ecx, word [rsi]
call fcn.140099390
mov ecx, eax
cmp eax, 0x4f
jg 0x140063ef2
cmp eax, 0x4f
je 0x140063d6f
cmp eax, 0x48
jg 0x14006366d
je 0x1400635c1
sub ecx, 0x40
je 0x1400635a0
sub ecx, 1
je 0x140063466
lea r14d, [rbp + 2]
sub ecx, r14d
je 0x140063411
sub ecx, 1
je 0x140063380
sub ecx, 1
je 0x1400632bd
cmp ecx, 1
jne 0x140064445
cmp word [rsi + 2], bp
jne 0x140064445
mov edi, ecx
mov byte [rbx + 0x615f], dil
jmp 0x1400646c8
lea rdi, [rsi + 2]
movzx ecx, word [rdi]
call fcn.140099390
cmp eax, 0x4e
je 0x14006336f
cmp eax, 0x50
je 0x140063317
mov r12d, 0x2b
mov rcx, rbx
cmp word [rdi], r12w
jne 0x140063304
lea r8, [rbx + 9]
lea rdx, [rsi + 4]
call fcn.140062978
or dword [rbx + 4], eax
lea edi, [r12 - 0x2a]
mov byte [rbx + 0xa], dil
jmp 0x1400646c8
lea r8, [rbx + 8]
mov rdx, rdi
call fcn.140062978
or dword [rbx], eax
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
test ecx, ecx
je 0x14006335f
sub ecx, 0x31
je 0x140063353
sub ecx, 1
je 0x140063341
cmp ecx, 1
jne 0x1400646c8
mov dword [rbx + 0x6164], 4
jmp 0x1400646c8
mov r15d, 3
mov dword [rbx + 0x6164], r15d
jmp 0x1400646c8
mov dword [rbx + 0x6164], r14d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x6164], edi
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61c4], dil
jmp 0x1400646c8
cmp word [rsi + 4], bp
jne 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
sub eax, 0x46
je 0x140063400
sub eax, r14d
je 0x1400633ef
sub eax, 0xa
je 0x1400633d7
sub eax, 1
je 0x1400633c6
cmp eax, 4
jne 0x1400646c8
lea edi, [rax - 3]
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c2], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61a6], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c3], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61bd], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61be], dil
jmp 0x1400646c8
cmp word [rsi + 4], bp
jne 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
mov ecx, 0x2d
cmp eax, ecx
je 0x140063455
cmp eax, 0x4c
je 0x140063449
cmp eax, 0x55
jne 0x1400646c8
lea edi, [rcx - 0x2c]
mov dword [rbx + 0x61ac], edi
jmp 0x1400646c8
mov dword [rbx + 0x61ac], r14d
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x615e], dil
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
sub eax, 0x43
je 0x14006358f
sub eax, 1
je 0x14006355a
mov r15d, 3
sub eax, r15d
je 0x1400634fa
sub eax, 2
je 0x1400634e9
sub eax, 5
je 0x1400646c8
sub eax, 1
je 0x1400634d8
sub eax, 1
je 0x1400634c8
sub eax, r15d
je 0x1400634b7
cmp eax, r15d
je 0x1400646c8
jmp 0x140064445
mov edi, 1
mov byte [rbx + 0x63da], dil
jmp 0x1400646c8
lea rdx, [rsi + 4]
lea rcx, [rbx + 0x4030]
jmp 0x140063b76
mov edi, 1
mov byte [rbx + 0x615d], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x63de], dil
jmp 0x1400646c8
lea r14, [rsi + 4]
mov ecx, 0x2d
cmp word [r14], cx
jne 0x14006351b
cmp word [rsi + 6], bp
jne 0x14006351b
mov byte [rbx + 0x61d9], bpl
jmp 0x1400646c8
movzx ecx, word [r14]
call fcn.140099390
mov r8d, 0x80
cmp eax, 0x46
jne 0x14006353f
lea rdx, [rsi + 6]
lea rcx, [rbx + 0x62da]
jmp 0x140063b7c
mov edi, 1
lea rcx, [rbx + 0x61da]
mov byte [rbx + 0x61d9], dil
mov rdx, r14
jmp 0x140063b7c
cmp word [rsi + 4], bp
jne 0x140063570
mov edi, 1
mov dword [rbx + 0x74f8], edi
jmp 0x1400646c8
mov eax, 0x31
cmp word [rsi + 4], ax
jne 0x1400646c8
lea r14d, [rax - 0x2f]
mov dword [rbx + 0x74f8], r14d
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x615c], dil
jmp 0x1400646c8
mov r12d, 0x2b
cmp word [rsi + 2], r12w
sete bpl
lea edi, [r12 - 0x2a]
add ebp, edi
mov dword [rbx + 0xa554], ebp
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
cmp eax, 0x50
je 0x140063611
cmp eax, 0x54
jne 0x140064445
movzx ecx, word [rsi + 4]
call fcn.140099390
sub eax, 0x42
je 0x1400635ff
cmp eax, 1
jne 0x140064445
lea r14d, [rax + 1]
mov dword [rbx + 0x6144], r14d
jmp 0x1400646c8
mov r15d, 3
mov dword [rbx + 0x6144], r15d
jmp 0x1400646c8
lea rdx, [rbx + 0x5132]
mov edi, 1
mov byte [rdx], dil
cmp word [rsi + 4], bp
je 0x140063648
lea rcx, [rbx + 0x5030]
lea rdx, [rsi + 4]
call fcn.1400938e8
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x14006363a
jmp 0x1400643fc
cmp byte [rbx + 0x5130], bpl
jne 0x1400646c8
lea rcx, [rbx + 0x5030]
lea r8, [rbx + 0xa54c]
call fcn.140002d48
jmp 0x1400646c8
sub ecx, 0x49
je 0x140063b3d
mov r14d, 2
sub ecx, r14d
je 0x140063b07
sub ecx, 1
je 0x140063acf
sub ecx, 1
je 0x14006371d
cmp ecx, 1
jne 0x140064445
lea rdi, [rsi + 2]
cmp word [rdi], bp
je 0x1400646c8
movzx ecx, word [rsi]
call fcn.140099390
cmp eax, 0x4e
lea rcx, [rbx + 0xc700]
lea r14, [rbx + 0xc640]
mov eax, 0x40
cmove r14, rcx
cmp word [rdi], ax
jne 0x14006447f
mov rcx, rsi
call fcn.14007fe50
test al, al
jne 0x14006447f
mov eax, dword [rbx + 0x4024]
lea rcx, [rsi + 4]
mov edi, 1
xor r8d, r8d
mov byte [rsp + 0x38], dil
mov r9b, dil
mov byte [rsp + 0x30], dil
mov rdx, r14
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], eax
call fcn.14007077c
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
sub eax, 0x41
je 0x140063ab1
sub eax, r14d
je 0x140063937
sub eax, 1
je 0x14006389e
sub eax, 1
je 0x14006386b
sub eax, 8
je 0x1400646c8
sub eax, 6
je 0x1400637a3
cmp eax, 1
je 0x140063778
movzx eax, word [rsi + 2]
sub eax, 0x30
mov dword [rbx + 0x6140], eax
cmp eax, 5
jbe 0x1400646c8
jmp 0x140064445
lea rcx, [rsi + 4]
call fcn.14009935c
mov dword [rbx + 0x8510], eax
dec eax
cmp eax, 0x3f
ja 0x140064445
mov edi, 1
mov byte [rbx + 0x8514], dil
jmp 0x1400646c8
lea rdx, [rsi + 4]
mov r8d, 0x400
cmp word [rdx], bp
lea rax, str.7z_ace_arj_bz2_cab_gz_jpeg_jpg_lha_lz_lzh_mp3_rar_taz_tgz_xz_z_zip_zipx
lea rcx, [rsp + 0x60]
cmove rdx, rax
call fcn.140096298
lea rdi, [rsp + 0x60]
cmp word [rsp + 0x60], bp
je 0x1400646c8
lea r14, [rbx + 0xc880]
mov edx, 0x3b
mov rcx, rdi
call fcn.1400fd65c
mov rbx, rax
test rax, rax
je 0x1400637f4
mov word [rax], bp
cmp word [rdi], 0x2e
lea rsi, [rdi + 2]
lea rdx, [0x14012ebc0]
cmovne rsi, rdi
mov rcx, rsi
call fcn.140108468
lea rcx, [rsp + 0x860]
test rax, rax
jne 0x140063832
mov r9, rsi
lea r8, str.._ls
mov edx, 0x800
call fcn.140002810
jmp 0x140063840
mov r8d, 0x800
mov rdx, rsi
call fcn.140096298
lea rdx, [rsp + 0x860]
mov rcx, r14
call fcn.140096308
test rbx, rbx
je 0x1400646c8
lea rdi, [rbx + 2]
cmp word [rdi], bp
jne 0x1400637dc
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
call fcn.140099390
cmp eax, 0x5a
jne 0x1400646c8
movzx ecx, word [rsi + 6]
call fcn.140099390
cmp eax, 0x4c
jne 0x1400646c8
lea edi, [rax - 0x4b]
mov byte [rbx + 0xa54c], dil
jmp 0x1400646c8
lea rcx, [rsi + 4]
call fcn.14009935c
movsxd rcx, eax
mov qword [rbx + 0x10], rcx
test eax, eax
jne 0x1400638cc
movzx ecx, word [rsi + 4]
call fcn.140099390
mov edx, 0x10000
lea ecx, [rax - 0x41]
shl rdx, cl
mov qword [rbx + 0x10], rdx
jmp 0x140063909
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x1400638d0
movzx ecx, word [rsi + rax*2 - 2]
call fcn.140099390
cmp eax, 0x47
je 0x1400638fd
cmp eax, 0x4b
mov rax, qword [rbx + 0x10]
je 0x1400638f7
shl rax, 0x14
jmp 0x140063905
shl rax, 0xa
jmp 0x140063905
mov rax, qword [rbx + 0x10]
shl rax, 0x1e
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x10], 0x40000000
ja 0x14006391f
mov rcx, rbx
call fcn.14006279c
test al, al
jne 0x140063927
mov qword [rbx + 0x10], 0x400000
mov rax, qword [rbx + 0x10]
mov qword [rbx + 0x8520], rax
jmp 0x1400646c8
add rsi, 4
mov ecx, 0x2d
movzx eax, word [rsi]
cmp ax, cx
jne 0x14006396a
add rbx, 0x6434
lea eax, [rcx - 0x1d]
lea edi, [rcx - 0x2c]
lea r15d, [rcx - 0x2a]
mov dword [rbx], r15d
lea rbx, [rbx + 0xc]
sub rax, rdi
jne 0x140063959
jmp 0x1400646c8
test ax, ax
je 0x1400646c8
mov edi, 1
lea r12d, [rdi + 0x2a]
lea r15d, [rdi + 2]
lea r13d, [rdi + 7]
movzx ecx, ax
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x48], ebp
call fcn.140095e74
test al, al
je 0x1400639b5
mov rcx, rsi
call fcn.14009935c
mov dword [rsp + 0x44], eax
jmp 0x1400639a9
add rsi, r14
movzx ecx, word [rsi]
call fcn.140095e74
test al, al
jne 0x1400639a6
mov eax, 0x3a
cmp word [rsi], ax
jne 0x1400639f6
lea rax, [rsi + 2]
movzx ecx, word [rax]
mov qword [rsp + 0x58], rax
call fcn.140095e74
test al, al
je 0x1400639f6
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call fcn.14009935c
mov dword [rsp + 0x48], eax
jmp 0x1400639ea
add rsi, r14
movzx ecx, word [rsi]
call fcn.140095e74
test al, al
jne 0x1400639e7
movzx ecx, word [rsi]
add rsi, r14
call fcn.140099390
sub eax, 0x41
je 0x140063a46
sub eax, r14d
je 0x140063a3f
sub eax, edi
je 0x140063a3a
sub eax, edi
je 0x140063a35
sub eax, 4
je 0x140063a2e
sub eax, 9
je 0x140063a29
cmp eax, r14d
jne 0x140063a4d
mov edx, 7
jmp 0x140063a50
mov rdx, r15
jmp 0x140063a50
mov edx, 6
jmp 0x140063a50
mov rdx, rdi
jmp 0x140063a50
mov rdx, rbp
jmp 0x140063a50
mov edx, 5
jmp 0x140063a50
mov edx, 4
jmp 0x140063a50
mov rdx, r13
movzx ecx, word [rsi]
mov r8d, 0xfffd
movzx eax, cx
sub ax, r12w
test r8w, ax
jne 0x140063a79
add rsi, r14
cmp cx, r12w
jne 0x140063a74
mov eax, r14d
jmp 0x140063a7b
mov eax, r15d
jmp 0x140063a7b
mov eax, edi
lea rcx, [rdx + rdx*2]
mov dword [rbx + rcx*4 + 0x6434], eax
lea rax, [rdx + rdx*2]
mov edx, dword [rsp + 0x44]
mov dword [rbx + rax*4 + 0x6438], edx
mov eax, dword [rsp + 0x48]
mov dword [rbx + rcx*4 + 0x643c], eax
movzx eax, word [rsi]
test ax, ax
jne 0x140063984
jmp 0x1400646c8
cmp word [rsi + 4], bp
je 0x140063abe
cmp word [rsi + 4], 0x35
jne 0x140063ac3
mov ebp, 1
mov byte [rbx + 0x61c0], bpl
jmp 0x1400646c8
lea rcx, [rsi + 2]
mov r8, r14
lea rdx, [0x14012eb28]
call fcn.140099480
test eax, eax
jne 0x1400646c8
lea rdx, [rsi + 6]
lea rcx, [0x14019bd10]
call fcn.140073414
test al, al
jne 0x1400646c8
jmp 0x140064445
movzx ecx, word [rsi + 2]
call fcn.140099390
test eax, eax
je 0x140063b2c
cmp eax, 0x42
jne 0x1400646c8
lea edi, [rax - 0x41]
mov byte [rbx + 0x61bc], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x6430], dil
jmp 0x1400646c8
lea rdi, [rsi + 2]
mov r15d, 3
mov r8d, r15d
lea rdx, [0x14012ead0]
mov rcx, rdi
call fcn.140099480
test eax, eax
jne 0x140063b86
lea rdx, str.rar.log
lea rcx, [rbx + 0x5134]
lea rax, [rsi + 8]
cmp word [rax], bp
cmovne rdx, rax
mov r8d, 0x800
call fcn.140096298
jmp 0x1400646c8
mov r8, r15
lea rdx, [0x14012eae8]
mov rcx, rdi
call fcn.140099480
test eax, eax
jne 0x140063bb7
lea ecx, [rax + 0x2d]
cmp word [rsi + 8], cx
lea edi, [rax + 1]
sete bpl
add ebp, edi
mov dword [rbx + 0x6138], ebp
jmp 0x1400646c8
lea rdx, [0x14012eaf0]
mov rcx, rdi
call fcn.140099438
test eax, eax
jne 0x140063bd8
lea edi, [rax + 1]
mov dword [rbx + 0x6134], edi
jmp 0x1400646c8
mov r8, r15
lea rdx, [0x14012eaf8]
mov rcx, rdi
call fcn.140099480
test eax, eax
jne 0x140063c01
lea rdx, [0x14012eb00]
lea rcx, [rbx + 0x64f4]
jmp 0x140063b6b
lea rdx, [0x14012eb04]
mov rcx, rdi
call fcn.140099438
test eax, eax
jne 0x140063c23
lea edi, [rax + 1]
mov byte [rbx + 0x61a5], dil
jmp 0x1400646c8
lea rdx, [0x14012eb08]
mov rcx, rdi
call fcn.140099438
test eax, eax
jne 0x140063c42
mov dword [rbx + 0x6134], r15d
jmp 0x1400646c8
movzx ecx, word [rdi]
call fcn.140099390
cmp eax, 0x44
jne 0x140063cb4
lea r14d, [rax - 0x42]
lea rax, [rsi + 4]
mov r15d, r14d
cmp word [rax], bp
je 0x1400646c8
lea edi, [r14 - 1]
movzx ecx, word [rax]
call fcn.140099390
sub eax, 0x43
je 0x140063c9c
sub eax, edi
je 0x140063c93
sub eax, 0xc
je 0x140063c8a
cmp eax, edi
jne 0x140063ca3
mov dword [rbx + 0x6134], r14d
jmp 0x140063ca3
mov byte [rbx + 0x6150], dil
jmp 0x140063ca3
mov byte [rbx + 0x6152], dil
jmp 0x140063ca3
mov byte [rbx + 0x6151], dil
add r15d, edi
lea rax, [rsi + r15*2]
cmp word [rax], bp
jne 0x140063c67
jmp 0x1400646c8
mov r8, r15
lea rdx, [0x14012eb10]
mov rcx, rdi
call fcn.140099480
test eax, eax
jne 0x140063d27
movzx ecx, word [rsi + 8]
test ecx, ecx
je 0x140063d17
sub ecx, 0x31
je 0x140063d17
sub ecx, 1
je 0x140063d05
sub ecx, 1
je 0x140063cf9
cmp ecx, 1
jne 0x1400646c8
mov dword [rbx + 0x74fc], 4
jmp 0x1400646c8
mov dword [rbx + 0x74fc], r15d
jmp 0x1400646c8
mov r14d, 2
mov dword [rbx + 0x74fc], r14d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x74fc], edi
jmp 0x1400646c8
lea rdx, [0x14012eb18]
mov rcx, rdi
call fcn.140099438
test eax, eax
jne 0x140063d49
lea edi, [rax + 1]
mov byte [rbx + 0x6153], dil
jmp 0x1400646c8
lea rdx, [0x14012eb20]
mov rcx, rdi
call fcn.140099438
test eax, eax
jne 0x1400646c8
lea edi, [rax + 1]
mov byte [rbx + 0x61d8], dil
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
mov edx, eax
cmp eax, 0x49
jg 0x140063e58
cmp eax, 0x49
je 0x140063dff
test eax, eax
je 0x140063df0
mov r12d, 0x2b
cmp eax, r12d
je 0x140063de0
lea ecx, [r12 + 2]
cmp eax, ecx
je 0x140063dce
cmp eax, 0x43
je 0x140063dbd
cmp eax, 0x48
jne 0x140064445
lea edi, [rax - 0x47]
mov byte [rbx + 0x61b2], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x63dd], dil
jmp 0x1400646c8
mov r14d, 2
mov dword [rbx + 0x613c], r14d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x613c], edi
jmp 0x1400646c8
mov dword [rbx + 0x613c], 4
jmp 0x1400646c8
movzx edx, word [rsi + 4]
mov ecx, 0x2d
cmp edx, ecx
je 0x140063e26
cmp edx, 0x30
je 0x140063e26
cmp edx, 0x32
lea edi, [rcx - 0x2c]
mov eax, ebp
sete al
add eax, edi
mov dword [rbx + 0x61c8], eax
jmp 0x140063e2c
mov dword [rbx + 0x61c8], ebp
mov edx, 0x3a
lea rcx, [rsi + 4]
call fcn.1400fd65c
test rax, rax
je 0x1400646c8
lea rcx, [rax + 2]
call fcn.140099308
mov qword [rbx + 0x61d0], rax
jmp 0x1400646c8
sub edx, 0x4c
je 0x140063ec8
sub edx, 2
je 0x140063ea7
sub edx, 4
je 0x140063e95
sub edx, 1
je 0x140063e84
cmp edx, 4
jne 0x140064445
lea edi, [rdx - 3]
mov byte [rbx + 0x61b0], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x63dc], dil
jmp 0x1400646c8
mov r15d, 3
mov dword [rbx + 0x613c], r15d
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
call fcn.140099390
cmp eax, 0x49
jne 0x1400646c8
lea edi, [rax - 0x48]
mov byte [rbx + 0x61bf], dil
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61b1], dil
movzx ecx, word [rsi + 4]
call fcn.140099390
cmp eax, 0x41
jne 0x1400646c8
mov byte [rbx + 0x61b3], dil
jmp 0x1400646c8
cmp ecx, 0x55
jg 0x140064424
je 0x14006440d
sub ecx, 0x50
je 0x1400643ce
sub ecx, 1
je 0x14006436a
sub ecx, 1
je 0x140064256
sub ecx, 1
je 0x140063ff8
cmp ecx, 1
jne 0x140064445
movzx ecx, word [rsi + 2]
call fcn.140099390
test eax, eax
je 0x140063fe7
sub eax, 0x2d
je 0x140063fdb
sub eax, 0x14
je 0x140063fd6
sub eax, 1
je 0x140063fcd
sub eax, 9
je 0x140063fbd
sub eax, 1
je 0x140063fab
sub eax, 2
je 0x140063fa0
sub eax, 1
je 0x140063f84
mov rcx, rbx
cmp eax, 4
jne 0x140064448
lea rdx, [rsi + 4]
call fcn.140064a40
jmp 0x1400646c8
mov edi, 1
mov r9b, dil
mov r8b, dil
lea rdx, [rsi + 4]
mov rcx, rbx
call fcn.140064b28
jmp 0x1400646c8
mov r9d, 1
xor r8d, r8d
jmp 0x140063f8f
mov r14d, 2
mov dword [rbx + 0x61a8], r14d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x61a8], edi
jmp 0x1400646c8
xor r9d, r9d
lea r8d, [r9 + 1]
jmp 0x140063f8f
xor r9d, r9d
jmp 0x140063fa6
mov byte [rbx + 0x6431], bpl
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x6431], dil
jmp 0x1400646c8
mov r15d, 3
lea rdx, [0x14012ebd8]
mov r8d, r15d
mov rcx, rsi
call fcn.140099480
lea edi, [r15 - 2]
test eax, eax
jne 0x140064077
lea rax, [rsi + 6]
cmp word [rax], bp
lea r14, str.default.sfx
cmovne r14, rax
mov rcx, r14
call fcn.1400803f0
cmp rax, r14
jne 0x140064062
mov rcx, r14
call fcn.14006f794
test al, al
jne 0x140064062
lea rdx, [rbx + 0x1018]
mov byte [rsp + 0x20], bpl
mov r9b, dil
mov r8d, 0x800
mov rcx, r14
call fcn.14007f6f0
jmp 0x140064077
lea rcx, [rbx + 0x1018]
mov r8d, 0x800
mov rdx, r14
call fcn.140096298
lea r12, [rsi + 2]
movzx ecx, word [r12]
call fcn.140095e74
test al, al
je 0x1400640a9
mov r14d, 2
mov rcx, r12
or dword [rbx + 0x6154], r14d
call fcn.14009935c
mov dword [rbx + 0x6158], eax
jmp 0x1400646c8
movzx ecx, word [r12]
call fcn.140099390
test eax, eax
je 0x14006424b
mov ecx, 0x2d
sub eax, ecx
je 0x140064240
sub eax, 0x16
je 0x140064173
sub eax, edi
je 0x140064161
sub eax, edi
je 0x140064155
sub eax, 7
je 0x14006412f
sub eax, edi
je 0x140064109
cmp eax, 9
jne 0x1400646c8
cmp word [rsi + 4], cx
lea eax, [rcx - 0x1d]
lea r13d, [rcx - 0x25]
cmove eax, r13d
or dword [rbx + 0x6154], eax
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
call fcn.140095e74
test al, al
je 0x1400646c8
lea rcx, [rsi + 4]
call fcn.140099308
mov qword [rbx + 0x6428], rax
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
call fcn.140095e74
test al, al
je 0x1400646c8
lea rcx, [rsi + 4]
call fcn.140099308
mov qword [rbx + 0x6420], rax
jmp 0x1400646c8
or dword [rbx + 0x6154], 4
jmp 0x1400646c8
mov r13d, 8
or dword [rbx + 0x6154], r13d
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
mov r12b, bpl
call fcn.140099390
cmp eax, 0x41
je 0x1400641ac
cmp eax, 0x46
je 0x1400641a4
cmp eax, 0x4f
je 0x14006419c
cmp eax, 0x55
jne 0x140064445
mov r14d, r15d
jmp 0x1400641af
mov r14d, 2
jmp 0x1400641af
mov r14d, 4
jmp 0x1400641af
mov r14d, edi
cmp word [rsi + 6], bp
jne 0x1400641d6
mov dword [rbx + 0x402c], r14d
mov dword [rbx + 0x4028], r14d
mov dword [rbx + 0x4024], r14d
mov dword [rbx + 0x4020], r14d
jmp 0x1400646c8
test r12b, r12b
jne 0x1400646c8
mov eax, r15d
movzx ecx, word [rsi + rax*2]
call fcn.140099390
cmp eax, 0x43
je 0x14006422a
cmp eax, 0x47
je 0x140064221
cmp eax, 0x4c
je 0x140064218
cmp eax, 0x52
je 0x14006420f
mov rdx, rsi
mov rcx, rbx
call fcn.14006254c
mov r12b, dil
jmp 0x140064231
mov dword [rbx + 0x402c], r14d
jmp 0x140064231
mov dword [rbx + 0x4024], r14d
jmp 0x140064231
mov dword [rbx + 0x4028], r14d
jmp 0x140064231
mov dword [rbx + 0x4020], r14d
add r15d, edi
cmp word [rsi + r15*2], bp
jne 0x1400641d6
jmp 0x1400646c8
mov dword [rbx + 0x6154], ebp
jmp 0x1400646c8
or dword [rbx + 0x6154], edi
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
test eax, eax
je 0x140064358
mov ecx, 0x2d
cmp eax, ecx
je 0x140064348
cmp eax, 0x30
je 0x140064336
cmp eax, 0x49
je 0x1400642c8
cmp eax, 0x52
je 0x1400642ab
cmp eax, 0x56
jne 0x1400646c8
lea r8d, [rcx - 0x37]
mov rcx, rbx
lea rdx, [rsi + 4]
call fcn.140062a10
mov dword [rbx + 0x614c], eax
jmp 0x1400646c8
lea rdx, [rsi + 4]
mov r8d, 0xfffffffd
mov rcx, rbx
call fcn.140062a10
mov dword [rbx + 0x6148], eax
jmp 0x1400646c8
lea rcx, [rsi + 4]
call fcn.14009935c
mov dword [rbx + 0x61b4], eax
cmp eax, 0xf
jbe 0x1400642e7
mov rdx, rsi
mov rcx, rbx
call fcn.14006254c
mov edx, 0x3a
lea rcx, [rsi + 4]
call fcn.1400fd65c
test rax, rax
je 0x140064326
lea rcx, [rax + 2]
call fcn.14009935c
mov dword [rbx + 0x61b8], eax
cmp eax, 0x3e8
jle 0x14006431b
mov rdx, rsi
mov rcx, rbx
call fcn.14006254c
mov ecx, dword [rbx + 0x61b8]
call fcn.140096c38
mov ecx, dword [rbx + 0x61b4]
call fcn.140096dec
jmp 0x1400646c8
mov r15d, 3
mov dword [rbx + 0x6168], r15d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x6168], edi
jmp 0x1400646c8
mov r14d, 2
mov dword [rbx + 0x6168], r14d
jmp 0x1400646c8
movzx ecx, word [rsi + 2]
call fcn.140099390
cmp eax, 0x4f
jne 0x140064445
movzx ecx, word [rsi + 4]
call fcn.140099390
test eax, eax
je 0x1400643be
mov r12d, 0x2b
cmp eax, r12d
je 0x1400643ac
lea ecx, [r12 + 2]
cmp eax, ecx
jne 0x140064445
mov dword [rbx + 0x2018], ebp
jmp 0x1400646c8
mov r14d, 2
mov dword [rbx + 0x2018], r14d
jmp 0x1400646c8
mov edi, 1
mov dword [rbx + 0x2018], edi
jmp 0x1400646c8
lea rdx, [rsi + 2]
lea rcx, [rbx + 0x5030]
cmp word [rdx], bp
jne 0x1400643ea
lea rdx, [rbx + 0x5132]
jmp 0x14006365c
call fcn.1400938e8
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x1400643f3
lea rdx, [rax + rax]
mov rcx, rsi
call fcn.140093940
jmp 0x1400646c8
cmp word [rsi + 2], bp
jne 0x140064445
mov edi, 1
mov byte [rbx + 0x6160], dil
jmp 0x1400646c8
sub ecx, 0x56
je 0x1400644b5
sub ecx, 1
je 0x14006448f
sub ecx, 1
je 0x1400636a0
sub ecx, 1
je 0x14006446e
cmp ecx, 1
je 0x140064455
mov rcx, rbx
mov rdx, rsi
call fcn.14006254c
jmp 0x1400646c8
lea rdx, [rsi + 2]
cmp word [rdx], bp
je 0x1400646c8
lea rcx, [rbx + 0x301e]
jmp 0x140063b76
mov edi, 1
mov byte [rbx + 0x61a4], dil
jmp 0x1400646c8
mov rdx, rdi
mov rcx, r14
call fcn.140096308
jmp 0x1400646c8
lea rdx, [rsi + 2]
mov r8d, 0x800
lea rcx, [rbx + 0x18]
call fcn.140096298
mov edx, 0x800
lea rcx, [rbx + 0x18]
call fcn.14007ea30
jmp 0x1400646c8
lea r13, [rsi + 2]
movzx ecx, word [r13]
call fcn.140099390
sub eax, 0x2d
je 0x1400646c1
sub eax, 0x17
je 0x1400646b3
sub eax, 1
je 0x140064692
mov edi, 1
sub eax, 9
je 0x140064689
lea r14d, [rdi + 1]
cmp eax, r14d
je 0x140064680
cmp byte [rbx + 0xa559], bpl
jne 0x14006451c
lea rcx, [rbx + 0x6178]
mov qword [rbx + 0x6170], rbp
call fcn.14004e93c
mov byte [rbx + 0xa559], dil
mov r15, rbp
mov r12, rbp
cmp word [r13], bp
je 0x140064653
mov ebx, edi
movzx ecx, word [r13]
call fcn.140095e74
test al, al
je 0x140064557
movzx eax, word [r13]
lea r15, [r15 + r15*4]
lea r15, [r15 - 0x18]
lea r12, [r12 + r12*4]
add r12, r12
lea r15, [rax + r15*2]
jmp 0x140064561
cmp word [r13], 0x2e
cmove r12, rdi
add ebx, edi
lea r13, [rsi + rbx*2]
cmp word [r13], bp
jne 0x14006452f
mov rbx, qword [rsp + 0x50]
test r15, r15
je 0x140064653
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140064580
movzx ecx, word [rsi + rax*2 - 2]
sub ecx, 0x42
je 0x140064641
sub ecx, 4
je 0x1400645ee
sub ecx, edi
je 0x1400645e5
sub ecx, 6
je 0x1400645dc
sub ecx, 0x15
je 0x140064641
sub ecx, 4
je 0x1400645ee
sub ecx, edi
je 0x1400645d6
sub ecx, 4
je 0x1400645d0
cmp ecx, r14d
je 0x1400645ca
imul r15, r15, 0x3e8
jmp 0x140064641
shl r15, 0x14
jmp 0x140064641
shl r15, 0xa
jmp 0x140064641
shl r15, 0x1e
jmp 0x140064641
imul r15, r15, 0xf4240
jmp 0x140064641
imul r15, r15, 0x3b9aca00
jmp 0x140064641
cmp r15, 0x168
je 0x14006463b
cmp r15, 0x2d0
je 0x140064633
cmp r15, 0x4b0
je 0x14006462b
cmp r15, 0x5a0
je 0x140064623
cmp r15, 0xb40
jne 0x140064641
mov r15d, 0x2c7c00
jmp 0x140064641
mov r15d, 0x163e00
jmp 0x140064641
mov r15d, 0x128600
jmp 0x140064641
mov r15d, 0xb2400
jmp 0x140064641
mov r15d, 0x58800
test r12, r12
je 0x14006465d
mov rax, r15
cqo
idiv r12
mov r15, rax
jmp 0x14006465d
movabs r15, 0x7fffffff7fffffff
cmp qword [rbx + 0x6170], rbp
jne 0x14006466f
mov qword [rbx + 0x6170], r15
jmp 0x1400646c8
lea rcx, [rbx + 0x6178]
mov rdx, r15
call fcn.14008bf48
jmp 0x1400646c8
mov byte [rbx + 0x6432], dil
jmp 0x1400646c8
mov byte [rbx + 0x61c5], dil
jmp 0x1400646c8
movzx ecx, word [rsi + 4]
call fcn.140099390
cmp eax, 0x52
jne 0x1400646c8
lea rcx, [rsi + 6]
call fcn.14009935c
inc eax
mov dword [rbx + 0x74f4], eax
jmp 0x1400646c8
mov edi, 1
mov byte [rbx + 0x61c1], dil
jmp 0x1400646c8
mov qword [rbx + 0x6170], rbp
mov rcx, qword [rsp + 0x1860]
xor rcx, rsp
call fcn.1400fc4f0
mov rbx, qword [rsp + 0x18c0]
add rsp, 0x1870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret