Function at 0x14001570c
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.14005ad30
sub rsp, rax
mov rax, qword [0x14008b710]
xor rax, rsp
mov qword [rsp + 0x1860], rax
mov rbx, rcx
mov qword [rsp + 0x50], rcx
movzx ecx, word [rdx]
mov r14, rdx
call fcn.14004e240
mov ecx, eax
cmp eax, 0x4e
jg 0x14001621d
cmp eax, 0x4e
je 0x1400169b9
cmp eax, 0x46
jg 0x140015af8
je 0x140015adc
sub ecx, 0x3f
je 0x140015acd
sub ecx, 1
je 0x140015aac
sub ecx, 1
je 0x140015954
mov ebp, 2
sub ecx, ebp
je 0x1400158fe
sub ecx, 1
je 0x14001586a
cmp ecx, 1
jne 0x140016970
lea rdi, [r14 + 2]
movzx ecx, word [rdi]
call fcn.14004e240
cmp eax, 0x4e
je 0x140015859
cmp eax, 0x50
je 0x140015801
lea r12d, [rbp + 0x29]
mov rcx, rbx
cmp word [rdi], r12w
jne 0x1400157ee
lea r8, [rbx + 9]
lea rdx, [r14 + 4]
call fcn.140014778
or dword [rbx + 4], eax
lea edi, [rbp - 1]
mov byte [rbx + 0xa], dil
jmp 0x140016c77
lea r8, [rbx + 8]
mov rdx, rdi
call fcn.140014778
or dword [rbx], eax
jmp 0x140016c77
movzx ecx, word [r14 + 4]
test ecx, ecx
je 0x140015849
sub ecx, 0x31
je 0x14001583e
sub ecx, 1
je 0x14001582c
cmp ecx, 1
jne 0x140016c77
mov dword [rbx + 0x6168], 4
jmp 0x140016c77
mov r15d, 3
mov dword [rbx + 0x6168], r15d
jmp 0x140016c77
mov dword [rbx + 0x6168], ebp
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x6168], edi
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61c4], dil
jmp 0x140016c77
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
sub eax, 0x46
je 0x1400158ed
sub eax, ebp
je 0x1400158dc
sub eax, 0xa
je 0x1400158c4
sub eax, 1
je 0x1400158b3
cmp eax, 4
jne 0x140016c77
lea edi, [rsi + 1]
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c2], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61a6], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c3], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61bd], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61be], dil
jmp 0x140016c77
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
lea ecx, [rsi + 0x2d]
cmp eax, ecx
je 0x140015943
cmp eax, 0x4c
je 0x140015938
cmp eax, 0x55
jne 0x140016c77
lea edi, [rsi + 1]
mov dword [rbx + 0x61ac], edi
jmp 0x140016c77
mov dword [rbx + 0x61ac], ebp
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x6162], dil
jmp 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
sub eax, 0x43
je 0x140015a9b
sub eax, 1
je 0x140015a4c
mov r15d, 3
sub eax, r15d
je 0x1400159e9
sub eax, 2
je 0x1400159d8
sub eax, 5
je 0x140016c77
sub eax, 1
je 0x1400159c7
sub eax, 1
je 0x1400159b7
sub eax, r15d
je 0x1400159a6
cmp eax, r15d
je 0x140016c77
jmp 0x140016970
mov edi, 1
mov byte [rbx + 0x63da], dil
jmp 0x140016c77
lea rdx, [r14 + 4]
lea rcx, [rbx + 0x4030]
jmp 0x140015f46
mov edi, 1
mov byte [rbx + 0x6161], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x63de], dil
jmp 0x140016c77
lea r15, [r14 + 4]
mov ecx, 0x2d
cmp word [r15], cx
jne 0x140015a0d
xor esi, esi
cmp word [r14 + 6], si
jne 0x140015a0d
mov byte [rbx + 0x61d9], sil
jmp 0x140016c77
movzx ecx, word [r15]
call fcn.14004e240
mov r8d, 0x80
cmp eax, 0x46
jne 0x140015a31
lea rdx, [r14 + 6]
lea rcx, [rbx + 0x62da]
jmp 0x140015f4c
mov edi, 1
lea rcx, [rbx + 0x61da]
mov byte [rbx + 0x61d9], dil
mov rdx, r15
jmp 0x140015f4c
xor esi, esi
cmp word [r14 + 4], si
jne 0x140015a63
lea edi, [rsi + 1]
mov dword [rbx + 0x74f8], edi
jmp 0x140016c77
mov eax, 0x31
cmp word [r14 + 4], ax
jne 0x140015a7d
lea ebp, [rax - 0x2f]
mov dword [rbx + 0x74f8], ebp
jmp 0x140016c77
cmp word [r14 + 4], 0x32
jne 0x140016c77
mov r15d, 3
mov dword [rbx + 0x74f8], r15d
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x6160], dil
jmp 0x140016c77
xor esi, esi
lea r12d, [rsi + 0x2b]
cmp word [r14 + 2], r12w
lea edi, [r12 - 0x2a]
sete sil
add esi, edi
mov dword [rbx + 0x851c], esi
jmp 0x140016c77
xor edx, edx
mov rcx, rbx
call fcn.140014a64
jmp 0x140016c77
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016970
lea edi, [rsi + 1]
mov byte [rbx + 0x6163], dil
jmp 0x140016c77
sub ecx, 0x48
je 0x140016169
sub ecx, 1
je 0x140015f0b
mov ebp, 2
sub ecx, ebp
je 0x140015ed4
sub ecx, 1
je 0x140015e9c
cmp ecx, 1
jne 0x140016970
movzx ecx, word [r14 + 2]
call fcn.14004e240
sub eax, 0x41
je 0x140015e7a
sub eax, ebp
je 0x140015d08
sub eax, 1
je 0x140015c5c
sub eax, 9
je 0x140016c77
sub eax, 6
je 0x140015b92
cmp eax, 1
je 0x140015b73
movzx eax, word [r14 + 2]
sub eax, 0x30
mov dword [rbx + 0x6140], eax
cmp eax, 5
jmp 0x140015b87
lea rcx, [r14 + 4]
call fcn.14004e218
mov dword [rbx + 0x8510], eax
dec eax
cmp eax, 0x3f
jbe 0x140016c77
jmp 0x140016970
lea rdx, [r14 + 4]
xor esi, esi
cmp word [rdx], si
lea rax, str.7z_ace_arj_bz2_cab_gz_jpeg_jpg_lha_lz_lzh_mp3_rar_taz_tgz_xz_z_zip_zipx
mov r8d, 0x400
lea rcx, [rsp + 0x60]
cmove rdx, rax
call fcn.14004b088
lea rdi, [rsp + 0x60]
cmp word [rsp + 0x60], si
je 0x140016c77
lea r15, [rbx + 0xa848]
mov ebp, 0x800
mov edx, 0x3b
mov rcx, rdi
call fcn.14005d030
mov rbx, rax
test rax, rax
je 0x140015bea
mov word [rax], si
cmp word [rdi], 0x2e
lea r14, [rdi + 2]
lea rdx, [0x140072d58]
cmovne r14, rdi
mov rcx, r14
call fcn.140061e6c
lea rcx, [rsp + 0x860]
test rax, rax
jne 0x140015c26
mov r9, r14
lea r8, str.._ls
mov rdx, rbp
call fcn.1400066cc
jmp 0x140015c31
mov r8, rbp
mov rdx, r14
call fcn.14004b088
lea rdx, [rsp + 0x860]
mov rcx, r15
call fcn.14004b0e8
test rbx, rbx
je 0x140016c77
lea rdi, [rbx + 2]
cmp word [rdi], si
jne 0x140015bd2
jmp 0x140016c77
lea rcx, [r14 + 4]
call fcn.14004e218
xor esi, esi
movsxd rcx, eax
mov qword [rbx + 0x10], rcx
test eax, eax
jne 0x140015c8d
movzx ecx, word [r14 + 4]
call fcn.14004e240
mov edx, 0x10000
lea ecx, [rax - 0x41]
shl rdx, cl
mov qword [rbx + 0x10], rdx
jmp 0x140015ccc
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140015c91
movzx ecx, word [r14 + rax*2 - 2]
call fcn.14004e240
cmp eax, 0x47
je 0x140015cc0
cmp eax, 0x4b
mov rax, qword [rbx + 0x10]
je 0x140015cba
shl rax, 0x14
jmp 0x140015cc8
shl rax, 0xa
jmp 0x140015cc8
mov rax, qword [rbx + 0x10]
shl rax, 0x1e
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x10], 0x40000000
ja 0x140015ce6
mov rcx, rbx
call fcn.14001459c
test al, al
jne 0x140016c77
mov ecx, 0xe44
call fcn.140045154
mov rcx, rax
mov rdx, r14
call fcn.1400186b4
mov qword [rbx + 0x10], 0x400000
jmp 0x140016c77
add r14, 4
mov ecx, 0x2d
movzx eax, word [r14]
cmp ax, cx
jne 0x140015d3c
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 0x140015d2b
jmp 0x140016c77
xor esi, esi
test ax, ax
je 0x140016c77
lea edi, [rsi + 1]
lea r12d, [rsi + 0x2b]
lea r15d, [rsi + 3]
lea r13d, [rsi + 8]
movzx ecx, ax
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], esi
call fcn.14004ac3c
test al, al
je 0x140015d88
mov rcx, r14
call fcn.14004e218
mov dword [rsp + 0x44], eax
jmp 0x140015d7b
add r14, rbp
movzx ecx, word [r14]
call fcn.14004ac3c
test al, al
jne 0x140015d78
mov eax, 0x3a
cmp word [r14], ax
jne 0x140015dcb
lea rax, [r14 + 2]
movzx ecx, word [rax]
mov qword [rsp + 0x58], rax
call fcn.14004ac3c
test al, al
je 0x140015dcb
mov r14, qword [rsp + 0x58]
mov rcx, r14
call fcn.14004e218
mov dword [rsp + 0x48], eax
jmp 0x140015dbe
add r14, rbp
movzx ecx, word [r14]
call fcn.14004ac3c
test al, al
jne 0x140015dbb
movzx ecx, word [r14]
add r14, rbp
call fcn.14004e240
sub eax, 0x41
je 0x140015e0e
sub eax, ebp
je 0x140015e07
sub eax, edi
je 0x140015e02
sub eax, edi
je 0x140015dfd
sub eax, 0xd
je 0x140015df8
cmp eax, ebp
jne 0x140015e15
mov edx, 7
jmp 0x140015e18
mov rdx, r15
jmp 0x140015e18
mov rdx, rdi
jmp 0x140015e18
mov rdx, rsi
jmp 0x140015e18
mov edx, 5
jmp 0x140015e18
mov edx, 4
jmp 0x140015e18
mov rdx, r13
movzx ecx, word [r14]
mov r8d, 0xfffd
movzx eax, cx
sub ax, r12w
test r8w, ax
jne 0x140015e41
add r14, rbp
cmp cx, r12w
jne 0x140015e3c
mov eax, ebp
jmp 0x140015e43
mov eax, r15d
jmp 0x140015e43
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 [r14]
test ax, ax
jne 0x140015d56
jmp 0x140016c77
xor esi, esi
cmp word [r14 + 4], si
je 0x140015e8b
cmp word [r14 + 4], 0x35
jne 0x140015e90
mov esi, 1
mov byte [rbx + 0x61c0], sil
jmp 0x140016c77
lea rcx, [r14 + 2]
mov r8, rbp
lea rdx, [0x140072d50]
call fcn.14004e294
test eax, eax
jne 0x140016c77
lea rdx, [r14 + 6]
lea rcx, [0x14009b8b0]
call fcn.1400287e0
test al, al
jne 0x140016c77
jmp 0x140016970
movzx ecx, word [r14 + 2]
call fcn.14004e240
test eax, eax
je 0x140015efa
cmp eax, 0x42
jne 0x140016c77
lea edi, [rax - 0x41]
mov byte [rbx + 0x61bc], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x6430], dil
jmp 0x140016c77
lea rdi, [r14 + 2]
mov r15d, 3
mov r8d, r15d
lea rdx, [0x140072d00]
mov rcx, rdi
call fcn.14004e294
xor esi, esi
test eax, eax
jne 0x140015f56
lea rdx, [0x140072d08]
lea rcx, [rbx + 0x5134]
lea rax, [r14 + 8]
cmp word [rax], si
cmovne rdx, rax
mov r8d, 0x800
call fcn.14004b088
jmp 0x140016c77
mov r8, r15
lea rdx, [0x140072d18]
mov rcx, rdi
call fcn.14004e294
test eax, eax
jne 0x140015f88
lea ecx, [rax + 0x2d]
cmp word [r14 + 8], cx
lea edi, [rax + 1]
sete sil
add esi, edi
mov dword [rbx + 0x6138], esi
jmp 0x140016c77
lea rdx, [0x140072d20]
mov rcx, rdi
call fcn.14004e24c
test eax, eax
jne 0x140015fb0
lea edi, [rax + 1]
mov dword [rbx + 0x6134], edi
mov ecx, edi
call fcn.140018000
jmp 0x140016c77
mov r8, r15
lea rdx, [0x140072d28]
mov rcx, rdi
call fcn.14004e294
test eax, eax
jne 0x140015fd9
lea rdx, [0x140072cb4]
lea rcx, [rbx + 0x64f4]
jmp 0x140015f3b
lea rdx, [0x140072cdc]
mov rcx, rdi
call fcn.14004e24c
test eax, eax
jne 0x140015ffb
lea edi, [rax + 1]
mov byte [rbx + 0x61a5], dil
jmp 0x140016c77
lea rdx, [0x140072d30]
mov rcx, rdi
call fcn.14004e24c
test eax, eax
jne 0x14001601a
mov dword [rbx + 0x6134], r15d
mov ecx, r15d
jmp 0x140015fa6
movzx ecx, word [rdi]
call fcn.14004e240
cmp eax, 0x44
jne 0x1400160af
lea ebp, [rax - 0x42]
lea rax, [r14 + 4]
mov r15d, ebp
cmp word [rax], si
je 0x140016c77
lea edi, [rbp - 1]
movzx ecx, word [rax]
call fcn.14004e240
sub eax, 0x43
je 0x140016097
sub eax, edi
je 0x14001608e
sub eax, 0xa
je 0x140016085
sub eax, ebp
je 0x14001607c
sub eax, edi
je 0x14001606d
cmp eax, 5
jne 0x14001609e
mov byte [rbx + 0x61a5], dil
jmp 0x14001609e
mov ecx, ebp
mov dword [rbx + 0x6134], ebp
call fcn.140018000
jmp 0x14001609e
mov byte [rbx + 0x6150], dil
jmp 0x14001609e
mov byte [rbx + 0x6153], dil
jmp 0x14001609e
mov byte [rbx + 0x6152], dil
jmp 0x14001609e
mov byte [rbx + 0x6151], dil
add r15d, edi
lea rax, [r14 + r15*2]
cmp word [rax], si
jne 0x140016041
jmp 0x140016c77
mov r8, r15
lea rdx, [0x140072d38]
mov rcx, rdi
call fcn.14004e294
test eax, eax
jne 0x140016121
movzx ecx, word [r14 + 8]
test ecx, ecx
je 0x140016111
sub ecx, 0x31
je 0x140016111
sub ecx, 1
je 0x140016101
sub ecx, 1
je 0x1400160f5
cmp ecx, 1
jne 0x140016c77
mov dword [rbx + 0x74fc], 4
jmp 0x140016c77
mov dword [rbx + 0x74fc], r15d
jmp 0x140016c77
mov ebp, 2
mov dword [rbx + 0x74fc], ebp
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x74fc], edi
jmp 0x140016c77
lea rdx, [0x140072d40]
mov rcx, rdi
call fcn.14004e24c
test eax, eax
jne 0x140016143
lea edi, [rax + 1]
mov byte [rbx + 0x6154], dil
jmp 0x140016c77
lea rdx, [0x140072d48]
mov rcx, rdi
call fcn.14004e24c
test eax, eax
jne 0x140016c77
lea edi, [rax + 1]
mov byte [rbx + 0x61d8], dil
jmp 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
cmp eax, 0x50
je 0x1400161b9
cmp eax, 0x54
jne 0x140016970
movzx ecx, word [r14 + 4]
call fcn.14004e240
sub eax, 0x42
je 0x1400161a7
cmp eax, 1
jne 0x140016970
lea ebp, [rax + 1]
mov dword [rbx + 0x6144], ebp
jmp 0x140016c77
mov r15d, 3
mov dword [rbx + 0x6144], r15d
jmp 0x140016c77
mov edi, 1
lea rdx, [r14 + 4]
xor esi, esi
mov byte [rbx + 0x5132], dil
cmp word [rdx], si
je 0x1400161ef
lea rcx, [rbx + 0x5030]
call fcn.1400487f4
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x1400161e0
jmp 0x140016775
cmp byte [rbx + 0x5130], sil
jne 0x140016c77
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004da80
lea rcx, [0x140072c9c]
call fcn.1400184fc
jmp 0x140016c77
cmp ecx, 0x55
jg 0x14001694f
je 0x140016937
sub ecx, 0x4f
je 0x140016786
sub ecx, 1
je 0x140016734
sub ecx, 1
je 0x1400166d2
sub ecx, 1
je 0x1400165bf
sub ecx, 1
je 0x14001632d
cmp ecx, 1
jne 0x140016970
movzx ecx, word [r14 + 2]
call fcn.14004e240
xor esi, esi
test eax, eax
je 0x14001631c
sub eax, 0x2d
je 0x140016310
sub eax, 0x14
je 0x14001630b
sub eax, 1
je 0x140016302
sub eax, 9
je 0x1400162f2
sub eax, 1
je 0x1400162e2
sub eax, 2
je 0x1400162d7
sub eax, 1
je 0x1400162bb
mov rcx, rbx
cmp eax, 4
jne 0x140016973
lea rdx, [r14 + 4]
call fcn.14001700c
jmp 0x140016c77
mov edi, 1
mov r9b, dil
mov r8b, dil
lea rdx, [r14 + 4]
mov rcx, rbx
call fcn.1400170f4
jmp 0x140016c77
mov r9d, 1
xor r8d, r8d
jmp 0x1400162c6
mov ebp, 2
mov dword [rbx + 0x61a8], ebp
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x61a8], edi
jmp 0x140016c77
xor r9d, r9d
lea r8d, [r9 + 1]
jmp 0x1400162c6
xor r9d, r9d
jmp 0x1400162dd
mov byte [rbx + 0x6431], sil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x6431], dil
jmp 0x140016c77
mov r15d, 3
lea rdx, [0x140072e00]
mov r8d, r15d
mov rcx, r14
call fcn.14004e294
xor esi, esi
lea edi, [r15 - 2]
mov ebp, 0x800
test eax, eax
jne 0x1400163ad
lea rax, [r14 + 6]
cmp word [rax], si
lea r12, [0x140072e08]
cmovne r12, rax
mov rcx, r12
call fcn.140035614
cmp rax, r12
jne 0x14001639b
mov rcx, r12
call fcn.140023834
test al, al
jne 0x14001639b
lea rdx, [rbx + 0x1018]
mov byte [rsp + 0x20], sil
mov r9b, dil
mov r8d, ebp
mov rcx, r12
call fcn.14003497c
jmp 0x1400163ad
lea rcx, [rbx + 0x1018]
mov r8, rbp
mov rdx, r12
call fcn.14004b088
lea r12, [r14 + 2]
movzx ecx, word [r12]
call fcn.14004ac3c
test al, al
je 0x1400163dd
mov ebp, 2
mov rcx, r12
or dword [rbx + 0x6158], ebp
call fcn.14004e218
mov dword [rbx + 0x615c], eax
jmp 0x140016c77
movzx ecx, word [r12]
call fcn.14004e240
test eax, eax
je 0x1400165b4
mov ecx, 0x2d
sub eax, ecx
je 0x1400165a9
sub eax, 0x16
je 0x1400164d4
sub eax, edi
je 0x1400164c2
sub eax, edi
je 0x1400164b6
sub eax, 4
je 0x140016495
sub eax, r15d
je 0x14001646e
sub eax, edi
je 0x140016447
cmp eax, 9
jne 0x140016c77
cmp word [r14 + 4], cx
lea eax, [rcx - 0x1d]
lea r13d, [rcx - 0x25]
cmove eax, r13d
or dword [rbx + 0x6158], eax
jmp 0x140016c77
movzx ecx, word [r14 + 4]
call fcn.14004ac3c
test al, al
je 0x140016c77
lea rcx, [r14 + 4]
call fcn.14004e1c4
mov qword [rbx + 0x6428], rax
jmp 0x140016c77
movzx ecx, word [r14 + 4]
call fcn.14004ac3c
test al, al
je 0x140016c77
lea rcx, [r14 + 4]
call fcn.14004e1c4
mov qword [rbx + 0x6420], rax
jmp 0x140016c77
lea rax, [r14 + 4]
mov r8, rbp
cmp word [rax], si
lea rdx, [0x140072e20]
lea rcx, [rbx + 0x750e]
cmovne rdx, rax
jmp 0x140015f4c
or dword [rbx + 0x6158], 4
jmp 0x140016c77
mov r13d, 8
or dword [rbx + 0x6158], r13d
jmp 0x140016c77
movzx ecx, word [r14 + 4]
mov r12b, sil
call fcn.14004e240
cmp eax, 0x41
je 0x140016518
cmp eax, 0x46
je 0x140016511
cmp eax, 0x4f
je 0x14001650a
cmp eax, 0x55
je 0x140016505
mov rdx, r14
mov rcx, rbx
call fcn.1400143c4
jmp 0x140016599
mov ebp, r15d
jmp 0x14001651a
mov ebp, 2
jmp 0x14001651a
mov ebp, 4
jmp 0x14001651a
mov ebp, edi
cmp word [r14 + 6], si
jne 0x14001653b
mov dword [rbx + 0x402c], ebp
mov dword [rbx + 0x4028], ebp
mov dword [rbx + 0x4024], ebp
mov dword [rbx + 0x4020], ebp
jmp 0x140016599
test r12b, r12b
jne 0x140016599
mov eax, r15d
movzx ecx, word [r14 + rax*2]
call fcn.14004e240
cmp eax, 0x43
je 0x140016589
cmp eax, 0x47
je 0x140016581
cmp eax, 0x4c
je 0x140016579
cmp eax, 0x52
je 0x140016571
mov rdx, r14
mov rcx, rbx
call fcn.1400143c4
mov r12b, dil
jmp 0x14001658f
mov dword [rbx + 0x402c], ebp
jmp 0x14001658f
mov dword [rbx + 0x4024], ebp
jmp 0x14001658f
mov dword [rbx + 0x4028], ebp
jmp 0x14001658f
mov dword [rbx + 0x4020], ebp
add r15d, edi
cmp word [r14 + r15*2], si
jne 0x14001653b
mov ecx, dword [rbx + 0x402c]
call fcn.140018008
jmp 0x140016c77
mov dword [rbx + 0x6158], esi
jmp 0x140016c77
or dword [rbx + 0x6158], edi
jmp 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
test eax, eax
je 0x1400166c2
mov ecx, 0x2d
cmp eax, ecx
je 0x1400166b2
cmp eax, 0x30
je 0x1400166a0
cmp eax, 0x49
je 0x140016632
cmp eax, 0x52
je 0x140016615
cmp eax, 0x56
jne 0x140016c77
lea r8d, [rcx - 0x37]
mov rcx, rbx
lea rdx, [r14 + 4]
call fcn.140014810
mov dword [rbx + 0x614c], eax
jmp 0x140016c77
lea rdx, [r14 + 4]
mov r8d, 0xfffffffd
mov rcx, rbx
call fcn.140014810
mov dword [rbx + 0x6148], eax
jmp 0x140016c77
lea rcx, [r14 + 4]
call fcn.14004e218
mov dword [rbx + 0x61b4], eax
cmp eax, 0xf
jbe 0x140016651
mov rdx, r14
mov rcx, rbx
call fcn.1400143c4
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005d030
test rax, rax
je 0x140016690
lea rcx, [rax + 2]
call fcn.14004e218
mov dword [rbx + 0x61b8], eax
cmp eax, 0x3e8
jle 0x140016685
mov rdx, r14
mov rcx, rbx
call fcn.1400143c4
mov ecx, dword [rbx + 0x61b8]
call fcn.14004ba04
mov ecx, dword [rbx + 0x61b4]
call fcn.14004bbb8
jmp 0x140016c77
mov r15d, 3
mov dword [rbx + 0x616c], r15d
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x616c], edi
jmp 0x140016c77
mov ebp, 2
mov dword [rbx + 0x616c], ebp
jmp 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
cmp eax, 0x4f
jne 0x140016970
movzx ecx, word [r14 + 4]
call fcn.14004e240
xor esi, esi
test eax, eax
je 0x140016724
lea r12d, [rsi + 0x2b]
cmp eax, r12d
je 0x140016714
lea ecx, [rsi + 0x2d]
cmp eax, ecx
jne 0x140016970
mov dword [rbx + 0x2018], esi
jmp 0x140016c77
mov ebp, 2
mov dword [rbx + 0x2018], ebp
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x2018], edi
jmp 0x140016c77
lea rdx, [r14 + 2]
xor esi, esi
cmp word [rdx], si
jne 0x14001675b
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004da80
lea rcx, [0x140072cfc]
jmp 0x140016213
lea rcx, [rbx + 0x5030]
call fcn.1400487f4
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x14001676b
lea rdx, [rax + rax]
mov rcx, r14
call fcn.14004884c
jmp 0x140016c77
movzx ecx, word [r14 + 2]
call fcn.14004e240
mov edx, eax
cmp eax, 0x49
jg 0x14001689b
cmp eax, 0x49
je 0x140016815
test eax, eax
je 0x140016806
mov r12d, 0x2b
cmp eax, r12d
je 0x1400167f6
lea ecx, [r12 + 2]
cmp eax, ecx
je 0x1400167e6
cmp eax, 0x43
je 0x1400167d5
cmp eax, 0x48
jne 0x140016970
lea edi, [rax - 0x47]
mov byte [rbx + 0x61b2], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x63dd], dil
jmp 0x140016c77
mov ebp, 2
mov dword [rbx + 0x613c], ebp
jmp 0x140016c77
mov edi, 1
mov dword [rbx + 0x613c], edi
jmp 0x140016c77
mov dword [rbx + 0x613c], 4
jmp 0x140016c77
movzx edx, word [r14 + 4]
xor esi, esi
sub edx, 0x2d
je 0x140016869
lea r15d, [rsi + 3]
sub edx, r15d
je 0x140016869
lea ebp, [rsi + 2]
sub edx, ebp
je 0x140016861
sub edx, 1
je 0x140016858
lea edi, [rsi + 1]
cmp edx, edi
je 0x140016845
mov dword [rbx + 0x61c8], edi
jmp 0x14001686f
mov dword [rbx + 0x61c8], 4
mov byte [rbx + 0x8520], dil
jmp 0x14001686f
mov dword [rbx + 0x61c8], r15d
jmp 0x14001686f
mov dword [rbx + 0x61c8], ebp
jmp 0x14001686f
mov dword [rbx + 0x61c8], esi
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005d030
test rax, rax
je 0x140016c77
lea rcx, [rax + 2]
call fcn.14004e1c4
mov qword [rbx + 0x61d0], rax
jmp 0x140016c77
sub edx, 0x4c
je 0x14001690c
sub edx, 2
je 0x1400168ea
sub edx, 4
je 0x1400168d8
sub edx, 1
je 0x1400168c7
cmp edx, 4
jne 0x140016970
lea edi, [rdx - 3]
mov byte [rbx + 0x61b0], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x63dc], dil
jmp 0x140016c77
mov r15d, 3
mov dword [rbx + 0x613c], r15d
jmp 0x140016c77
movzx ecx, word [r14 + 4]
call fcn.14004e240
cmp eax, 0x49
jne 0x140016c77
lea edi, [rax - 0x48]
mov byte [rbx + 0x61bf], dil
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61b1], dil
movzx ecx, word [r14 + 4]
call fcn.14004e240
cmp eax, 0x41
jne 0x140016c77
mov byte [rbx + 0x61b3], dil
jmp 0x140016c77
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016970
lea edi, [rsi + 1]
mov byte [rbx + 0x6164], dil
jmp 0x140016c77
sub ecx, 0x56
je 0x140016a60
sub ecx, 1
je 0x140016a3b
sub ecx, 1
je 0x1400169b9
sub ecx, 1
je 0x1400169a8
cmp ecx, 1
je 0x140016980
mov rcx, rbx
mov rdx, r14
call fcn.1400143c4
jmp 0x140016c77
lea rdx, [r14 + 2]
xor esi, esi
lea rcx, [rbx + 0x301e]
mov r8d, 0x800
cmp word [rdx], si
jne 0x140015f4c
lea rdx, [0x140072e30]
jmp 0x140015f4c
mov edi, 1
mov byte [rbx + 0x61a4], dil
jmp 0x140016c77
lea rdi, [r14 + 2]
xor esi, esi
cmp word [rdi], si
je 0x140016c77
movzx ecx, word [r14]
call fcn.14004e240
cmp eax, 0x4e
lea rcx, [rbx + 0xa6c8]
lea rbp, [rbx + 0xa608]
cmove rbp, rcx
cmp word [rdi], 0x40
jne 0x140016a2b
mov rcx, r14
call fcn.140035074
test al, al
jne 0x140016a2b
mov eax, dword [rbx + 0x4024]
lea edi, [rsi + 1]
mov byte [rsp + 0x38], dil
lea rcx, [r14 + 4]
mov byte [rsp + 0x30], dil
mov r9b, dil
mov byte [rsp + 0x28], dil
xor r8d, r8d
mov rdx, rbp
mov dword [rsp + 0x20], eax
call fcn.140024814
jmp 0x140016c77
mov rdx, rdi
mov rcx, rbp
call fcn.14004b0e8
jmp 0x140016c77
mov ebp, 0x800
lea rdx, [r14 + 2]
mov r8d, ebp
lea rcx, [rbx + 0x18]
call fcn.14004b088
mov edx, ebp
lea rcx, [rbx + 0x18]
call fcn.140033cb0
jmp 0x140016c77
lea r13, [r14 + 2]
movzx ecx, word [r13]
call fcn.14004e240
sub eax, 0x2d
je 0x140016c6e
sub eax, 0x17
je 0x140016c60
sub eax, 1
je 0x140016c3e
mov edi, 1
sub eax, 9
je 0x140016c35
lea ebp, [rdi + 1]
cmp eax, ebp
je 0x140016c2c
xor esi, esi
cmp byte [rbx + 0x8521], sil
jne 0x140016ac7
lea rcx, [rbx + 0x6178]
mov qword [rbx + 0x6170], rsi
call fcn.14004b2a4
mov byte [rbx + 0x8521], dil
mov r15, rsi
mov r12, rsi
cmp word [r13], si
je 0x140016bff
mov ebx, edi
movzx ecx, word [r13]
call fcn.14004ac3c
test al, al
je 0x140016b02
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 0x140016b0c
cmp word [r13], 0x2e
cmove r12, rdi
add ebx, edi
lea r13, [r14 + rbx*2]
cmp word [r13], si
jne 0x140016ada
mov rbx, qword [rsp + 0x50]
test r15, r15
je 0x140016bff
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140016b2b
movzx ecx, word [r14 + rax*2 - 2]
sub ecx, 0x42
je 0x140016bed
sub ecx, 4
je 0x140016b9a
sub ecx, edi
je 0x140016b91
sub ecx, 6
je 0x140016b88
sub ecx, 0x15
je 0x140016bed
sub ecx, 4
je 0x140016b9a
sub ecx, edi
je 0x140016b82
sub ecx, 4
je 0x140016b7c
cmp ecx, ebp
je 0x140016b76
imul r15, r15, 0x3e8
jmp 0x140016bed
shl r15, 0x14
jmp 0x140016bed
shl r15, 0xa
jmp 0x140016bed
shl r15, 0x1e
jmp 0x140016bed
imul r15, r15, 0xf4240
jmp 0x140016bed
imul r15, r15, 0x3b9aca00
jmp 0x140016bed
cmp r15, 0x168
je 0x140016be7
cmp r15, 0x2d0
je 0x140016bdf
cmp r15, 0x4b0
je 0x140016bd7
cmp r15, 0x5a0
je 0x140016bcf
cmp r15, 0xb40
jne 0x140016bed
mov r15d, 0x2c7c00
jmp 0x140016bed
mov r15d, 0x163e00
jmp 0x140016bed
mov r15d, 0x128600
jmp 0x140016bed
mov r15d, 0xb2400
jmp 0x140016bed
mov r15d, 0x58800
test r12, r12
je 0x140016c09
mov rax, r15
cqo
idiv r12
mov r15, rax
jmp 0x140016c09
movabs r15, 0x7fffffff7fffffff
cmp qword [rbx + 0x6170], rsi
jne 0x140016c1b
mov qword [rbx + 0x6170], r15
jmp 0x140016c77
lea rcx, [rbx + 0x6178]
mov rdx, r15
call fcn.140016d0c
jmp 0x140016c77
mov byte [rbx + 0x6432], dil
jmp 0x140016c77
mov byte [rbx + 0x61c5], dil
jmp 0x140016c77
movzx ecx, word [r14 + 4]
call fcn.14004e240
cmp eax, 0x52
jne 0x140016c77
lea rcx, [r14 + 6]
call fcn.14004e218
inc eax
mov dword [rbx + 0x74f4], eax
jmp 0x140016c77
mov edi, 1
mov byte [rbx + 0x61c1], dil
jmp 0x140016c77
xor esi, esi
mov qword [rbx + 0x6170], rsi
mov rcx, qword [rsp + 0x1860]
xor rcx, rsp
call fcn.14005ada0
mov rbx, qword [rsp + 0x18c0]
add rsp, 0x1870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret