Function at 0x1400154c0
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.14005a5a0
sub rsp, rax
mov rax, qword [0x14008a6c0]
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.14004dab4
mov ecx, eax
cmp eax, 0x4e
jg 0x140015fb6
cmp eax, 0x4e
je 0x14001674a
cmp eax, 0x46
jg 0x140015892
je 0x140015876
sub ecx, 0x3f
je 0x140015867
sub ecx, 1
je 0x140015846
sub ecx, 1
je 0x140015708
mov ebp, 2
sub ecx, ebp
je 0x1400156b2
sub ecx, 1
je 0x14001561e
cmp ecx, 1
jne 0x140016701
lea rdi, [r14 + 2]
movzx ecx, word [rdi]
call fcn.14004dab4
cmp eax, 0x4e
je 0x14001560d
cmp eax, 0x50
je 0x1400155b5
lea r12d, [rbp + 0x29]
mov rcx, rbx
cmp word [rdi], r12w
jne 0x1400155a2
lea r8, [rbx + 9]
lea rdx, [r14 + 4]
call fcn.140014530
or dword [rbx + 4], eax
lea edi, [rbp - 1]
mov byte [rbx + 0xa], dil
jmp 0x140016a08
lea r8, [rbx + 8]
mov rdx, rdi
call fcn.140014530
or dword [rbx], eax
jmp 0x140016a08
movzx ecx, word [r14 + 4]
test ecx, ecx
je 0x1400155fd
sub ecx, 0x31
je 0x1400155f2
sub ecx, 1
je 0x1400155e0
cmp ecx, 1
jne 0x140016a08
mov dword [rbx + 0x6164], 4
jmp 0x140016a08
mov r15d, 3
mov dword [rbx + 0x6164], r15d
jmp 0x140016a08
mov dword [rbx + 0x6164], ebp
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x6164], edi
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61c4], dil
jmp 0x140016a08
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
sub eax, 0x46
je 0x1400156a1
sub eax, ebp
je 0x140015690
sub eax, 0xa
je 0x140015678
sub eax, 1
je 0x140015667
cmp eax, 4
jne 0x140016a08
lea edi, [rsi + 1]
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c2], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61a6], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c3], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61bd], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61be], dil
jmp 0x140016a08
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
lea ecx, [rsi + 0x2d]
cmp eax, ecx
je 0x1400156f7
cmp eax, 0x4c
je 0x1400156ec
cmp eax, 0x55
jne 0x140016a08
lea edi, [rsi + 1]
mov dword [rbx + 0x61ac], edi
jmp 0x140016a08
mov dword [rbx + 0x61ac], ebp
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x615e], dil
jmp 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
sub eax, 0x43
je 0x140015835
sub eax, 1
je 0x140015800
mov r15d, 3
sub eax, r15d
je 0x14001579d
sub eax, 2
je 0x14001578c
sub eax, 5
je 0x140016a08
sub eax, 1
je 0x14001577b
sub eax, 1
je 0x14001576b
sub eax, r15d
je 0x14001575a
cmp eax, r15d
je 0x140016a08
jmp 0x140016701
mov edi, 1
mov byte [rbx + 0x63da], dil
jmp 0x140016a08
lea rdx, [r14 + 4]
lea rcx, [rbx + 0x4030]
jmp 0x140015cfe
mov edi, 1
mov byte [rbx + 0x615d], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x63de], dil
jmp 0x140016a08
lea r15, [r14 + 4]
mov ecx, 0x2d
cmp word [r15], cx
jne 0x1400157c1
xor esi, esi
cmp word [r14 + 6], si
jne 0x1400157c1
mov byte [rbx + 0x61d9], sil
jmp 0x140016a08
movzx ecx, word [r15]
call fcn.14004dab4
mov r8d, 0x80
cmp eax, 0x46
jne 0x1400157e5
lea rdx, [r14 + 6]
lea rcx, [rbx + 0x62da]
jmp 0x140015d04
mov edi, 1
lea rcx, [rbx + 0x61da]
mov byte [rbx + 0x61d9], dil
mov rdx, r15
jmp 0x140015d04
xor esi, esi
cmp word [r14 + 4], si
jne 0x140015817
lea edi, [rsi + 1]
mov dword [rbx + 0x74f8], edi
jmp 0x140016a08
mov eax, 0x31
cmp word [r14 + 4], ax
jne 0x140016a08
lea ebp, [rax - 0x2f]
mov dword [rbx + 0x74f8], ebp
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x615c], dil
jmp 0x140016a08
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 0x140016a08
xor edx, edx
mov rcx, rbx
call fcn.14001481c
jmp 0x140016a08
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016701
lea edi, [rsi + 1]
mov byte [rbx + 0x615f], dil
jmp 0x140016a08
sub ecx, 0x48
je 0x140015f02
sub ecx, 1
je 0x140015cc3
mov ebp, 2
sub ecx, ebp
je 0x140015c8c
sub ecx, 1
je 0x140015c54
cmp ecx, 1
jne 0x140016701
movzx ecx, word [r14 + 2]
call fcn.14004dab4
sub eax, 0x41
je 0x140015c32
sub eax, ebp
je 0x140015aa2
sub eax, 1
je 0x1400159f6
sub eax, 9
je 0x140016a08
sub eax, 6
je 0x14001592c
cmp eax, 1
je 0x14001590d
movzx eax, word [r14 + 2]
sub eax, 0x30
mov dword [rbx + 0x6140], eax
cmp eax, 5
jmp 0x140015921
lea rcx, [r14 + 4]
call fcn.14004da8c
mov dword [rbx + 0x8510], eax
dec eax
cmp eax, 0x3f
jbe 0x140016a08
jmp 0x140016701
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.14004a9e8
lea rdi, [rsp + 0x60]
cmp word [rsp + 0x60], si
je 0x140016a08
lea r15, [rbx + 0xa848]
mov ebp, 0x800
mov edx, 0x3b
mov rcx, rdi
call fcn.14005c8a0
mov rbx, rax
test rax, rax
je 0x140015984
mov word [rax], si
cmp word [rdi], 0x2e
lea r14, [rdi + 2]
lea rdx, [0x140071da0]
cmovne r14, rdi
mov rcx, r14
call fcn.14006172c
lea rcx, [rsp + 0x860]
test rax, rax
jne 0x1400159c0
mov r9, r14
lea r8, str.._ls
mov rdx, rbp
call fcn.14000648c
jmp 0x1400159cb
mov r8, rbp
mov rdx, r14
call fcn.14004a9e8
lea rdx, [rsp + 0x860]
mov rcx, r15
call fcn.14004aa48
test rbx, rbx
je 0x140016a08
lea rdi, [rbx + 2]
cmp word [rdi], si
jne 0x14001596c
jmp 0x140016a08
lea rcx, [r14 + 4]
call fcn.14004da8c
xor esi, esi
movsxd rcx, eax
mov qword [rbx + 0x10], rcx
test eax, eax
jne 0x140015a27
movzx ecx, word [r14 + 4]
call fcn.14004dab4
mov edx, 0x10000
lea ecx, [rax - 0x41]
shl rdx, cl
mov qword [rbx + 0x10], rdx
jmp 0x140015a66
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140015a2b
movzx ecx, word [r14 + rax*2 - 2]
call fcn.14004dab4
cmp eax, 0x47
je 0x140015a5a
cmp eax, 0x4b
mov rax, qword [rbx + 0x10]
je 0x140015a54
shl rax, 0x14
jmp 0x140015a62
shl rax, 0xa
jmp 0x140015a62
mov rax, qword [rbx + 0x10]
shl rax, 0x1e
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x10], 0x40000000
ja 0x140015a80
mov rcx, rbx
call fcn.140014354
test al, al
jne 0x140016a08
mov ecx, 0xe42
call fcn.1400449f4
mov rcx, rax
mov rdx, r14
call fcn.140018444
mov qword [rbx + 0x10], 0x400000
jmp 0x140016a08
add r14, 4
mov ecx, 0x2d
movzx eax, word [r14]
cmp ax, cx
jne 0x140015ad6
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 0x140015ac5
jmp 0x140016a08
xor esi, esi
test ax, ax
je 0x140016a08
lea edi, [rsi + 1]
lea ecx, [rsi + 8]
lea r12d, [rsi + 0x2b]
lea r15d, [rsi + 3]
mov r13, rcx
mov dword [rsp + 0x44], esi
movzx ecx, ax
mov dword [rsp + 0x48], esi
call fcn.14004a59c
test al, al
je 0x140015b24
mov rcx, r14
call fcn.14004da8c
mov dword [rsp + 0x44], eax
jmp 0x140015b17
add r14, rbp
movzx ecx, word [r14]
call fcn.14004a59c
test al, al
jne 0x140015b14
mov eax, 0x3a
cmp word [r14], ax
jne 0x140015b67
lea rax, [r14 + 2]
movzx ecx, word [rax]
mov qword [rsp + 0x50], rax
call fcn.14004a59c
test al, al
je 0x140015b67
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.14004da8c
mov dword [rsp + 0x48], eax
jmp 0x140015b5a
add r14, rbp
movzx ecx, word [r14]
call fcn.14004a59c
test al, al
jne 0x140015b57
movzx ecx, word [r14]
add r14, rbp
call fcn.14004dab4
sub eax, 0x41
je 0x140015bb9
sub eax, ebp
je 0x140015bb1
sub eax, edi
je 0x140015bac
sub eax, edi
je 0x140015ba7
sub eax, 4
je 0x140015b9f
sub eax, 9
je 0x140015b9a
cmp eax, ebp
jne 0x140015bbf
mov r13d, 7
jmp 0x140015bbf
mov r13, r15
jmp 0x140015bbf
mov r13d, 6
jmp 0x140015bbf
mov r13, rdi
jmp 0x140015bbf
mov r13, rsi
jmp 0x140015bbf
mov r13d, 5
jmp 0x140015bbf
mov r13d, 4
movzx ecx, word [r14]
mov edx, 0xfffd
movzx eax, cx
sub ax, r12w
test dx, ax
jne 0x140015be6
add r14, rbp
cmp cx, r12w
jne 0x140015be1
mov eax, ebp
jmp 0x140015be8
mov eax, r15d
jmp 0x140015be8
mov eax, edi
mov edx, dword [rsp + 0x44]
lea rcx, [r13*2]
add rcx, r13
mov dword [rbx + rcx*4 + 0x6434], eax
lea rax, [r13*2]
add rax, r13
mov dword [rbx + rax*4 + 0x6438], edx
mov eax, dword [rsp + 0x48]
mov dword [rbx + rcx*4 + 0x643c], eax
mov ecx, 8
movzx eax, word [r14]
test ax, ax
jne 0x140015aef
jmp 0x140016a08
xor esi, esi
cmp word [r14 + 4], si
je 0x140015c43
cmp word [r14 + 4], 0x35
jne 0x140015c48
mov esi, 1
mov byte [rbx + 0x61c0], sil
jmp 0x140016a08
lea rcx, [r14 + 2]
mov r8, rbp
lea rdx, [0x140071d08]
call fcn.14004db08
test eax, eax
jne 0x140016a08
lea rdx, [r14 + 6]
lea rcx, [0x14009a860]
call fcn.140027fe4
test al, al
jne 0x140016a08
jmp 0x140016701
movzx ecx, word [r14 + 2]
call fcn.14004dab4
test eax, eax
je 0x140015cb2
cmp eax, 0x42
jne 0x140016a08
lea edi, [rax - 0x41]
mov byte [rbx + 0x61bc], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x6430], dil
jmp 0x140016a08
lea rdi, [r14 + 2]
mov r15d, 3
mov r8d, r15d
lea rdx, [0x140071cb8]
mov rcx, rdi
call fcn.14004db08
xor esi, esi
test eax, eax
jne 0x140015d0e
lea rdx, [0x140071cc0]
lea rcx, [rbx + 0x5134]
lea rax, [r14 + 8]
cmp word [rax], si
cmovne rdx, rax
mov r8d, 0x800
call fcn.14004a9e8
jmp 0x140016a08
mov r8, r15
lea rdx, [0x140071cd0]
mov rcx, rdi
call fcn.14004db08
test eax, eax
jne 0x140015d40
lea ecx, [rax + 0x2d]
cmp word [r14 + 8], cx
lea edi, [rax + 1]
sete sil
add esi, edi
mov dword [rbx + 0x6138], esi
jmp 0x140016a08
lea rdx, [0x140071cd8]
mov rcx, rdi
call fcn.14004dac0
test eax, eax
jne 0x140015d68
lea edi, [rax + 1]
mov dword [rbx + 0x6134], edi
mov ecx, edi
call fcn.140017d90
jmp 0x140016a08
mov r8, r15
lea rdx, [0x140071ce0]
mov rcx, rdi
call fcn.14004db08
test eax, eax
jne 0x140015d91
lea rdx, [0x140071c6c]
lea rcx, [rbx + 0x64f4]
jmp 0x140015cf3
lea rdx, [0x140071c94]
mov rcx, rdi
call fcn.14004dac0
test eax, eax
jne 0x140015db3
lea edi, [rax + 1]
mov byte [rbx + 0x61a5], dil
jmp 0x140016a08
lea rdx, [0x140071ce8]
mov rcx, rdi
call fcn.14004dac0
test eax, eax
jne 0x140015dd2
mov dword [rbx + 0x6134], r15d
mov ecx, r15d
jmp 0x140015d5e
movzx ecx, word [rdi]
call fcn.14004dab4
cmp eax, 0x44
jne 0x140015e48
lea ebp, [rax - 0x42]
lea rax, [r14 + 4]
mov r15d, ebp
cmp word [rax], si
je 0x140016a08
lea edi, [rbp - 1]
movzx ecx, word [rax]
call fcn.14004dab4
sub eax, 0x43
je 0x140015e30
sub eax, edi
je 0x140015e27
sub eax, 0xc
je 0x140015e1e
cmp eax, edi
jne 0x140015e37
mov ecx, ebp
mov dword [rbx + 0x6134], ebp
call fcn.140017d90
jmp 0x140015e37
mov byte [rbx + 0x6150], dil
jmp 0x140015e37
mov byte [rbx + 0x6152], dil
jmp 0x140015e37
mov byte [rbx + 0x6151], dil
add r15d, edi
lea rax, [r14 + r15*2]
cmp word [rax], si
jne 0x140015df5
jmp 0x140016a08
mov r8, r15
lea rdx, [0x140071cf0]
mov rcx, rdi
call fcn.14004db08
test eax, eax
jne 0x140015eba
movzx ecx, word [r14 + 8]
test ecx, ecx
je 0x140015eaa
sub ecx, 0x31
je 0x140015eaa
sub ecx, 1
je 0x140015e9a
sub ecx, 1
je 0x140015e8e
cmp ecx, 1
jne 0x140016a08
mov dword [rbx + 0x74fc], 4
jmp 0x140016a08
mov dword [rbx + 0x74fc], r15d
jmp 0x140016a08
mov ebp, 2
mov dword [rbx + 0x74fc], ebp
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x74fc], edi
jmp 0x140016a08
lea rdx, [0x140071cf8]
mov rcx, rdi
call fcn.14004dac0
test eax, eax
jne 0x140015edc
lea edi, [rax + 1]
mov byte [rbx + 0x6153], dil
jmp 0x140016a08
lea rdx, [0x140071d00]
mov rcx, rdi
call fcn.14004dac0
test eax, eax
jne 0x140016a08
lea edi, [rax + 1]
mov byte [rbx + 0x61d8], dil
jmp 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
cmp eax, 0x50
je 0x140015f52
cmp eax, 0x54
jne 0x140016701
movzx ecx, word [r14 + 4]
call fcn.14004dab4
sub eax, 0x42
je 0x140015f40
cmp eax, 1
jne 0x140016701
lea ebp, [rax + 1]
mov dword [rbx + 0x6144], ebp
jmp 0x140016a08
mov r15d, 3
mov dword [rbx + 0x6144], r15d
jmp 0x140016a08
mov edi, 1
lea rdx, [r14 + 4]
xor esi, esi
mov byte [rbx + 0x5132], dil
cmp word [rdx], si
je 0x140015f88
lea rcx, [rbx + 0x5030]
call fcn.140048094
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140015f79
jmp 0x140016506
cmp byte [rbx + 0x5130], sil
jne 0x140016a08
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004d30c
lea rcx, [0x140071c54]
call fcn.14001828c
jmp 0x140016a08
cmp ecx, 0x55
jg 0x1400166e0
je 0x1400166c8
sub ecx, 0x4f
je 0x140016517
sub ecx, 1
je 0x1400164c5
sub ecx, 1
je 0x140016463
sub ecx, 1
je 0x140016350
sub ecx, 1
je 0x1400160c6
cmp ecx, 1
jne 0x140016701
movzx ecx, word [r14 + 2]
call fcn.14004dab4
xor esi, esi
test eax, eax
je 0x1400160b5
sub eax, 0x2d
je 0x1400160a9
sub eax, 0x14
je 0x1400160a4
sub eax, 1
je 0x14001609b
sub eax, 9
je 0x14001608b
sub eax, 1
je 0x14001607b
sub eax, 2
je 0x140016070
sub eax, 1
je 0x140016054
mov rcx, rbx
cmp eax, 4
jne 0x140016704
lea rdx, [r14 + 4]
call fcn.140016d9c
jmp 0x140016a08
mov edi, 1
mov r9b, dil
mov r8b, dil
lea rdx, [r14 + 4]
mov rcx, rbx
call fcn.140016e84
jmp 0x140016a08
mov r9d, 1
xor r8d, r8d
jmp 0x14001605f
mov ebp, 2
mov dword [rbx + 0x61a8], ebp
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x61a8], edi
jmp 0x140016a08
xor r9d, r9d
lea r8d, [r9 + 1]
jmp 0x14001605f
xor r9d, r9d
jmp 0x140016076
mov byte [rbx + 0x6431], sil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x6431], dil
jmp 0x140016a08
mov r15d, 3
lea rdx, [0x140071db8]
mov r8d, r15d
mov rcx, r14
call fcn.14004db08
xor esi, esi
lea edi, [r15 - 2]
mov ebp, 0x800
test eax, eax
jne 0x140016146
lea rax, [r14 + 6]
cmp word [rax], si
lea r12, [0x140071dc0]
cmovne r12, rax
mov rcx, r12
call fcn.140034e14
cmp rax, r12
jne 0x140016134
mov rcx, r12
call fcn.140023054
test al, al
jne 0x140016134
lea rdx, [rbx + 0x1018]
mov byte [rsp + 0x20], sil
mov r9b, dil
mov r8d, ebp
mov rcx, r12
call fcn.14003417c
jmp 0x140016146
lea rcx, [rbx + 0x1018]
mov r8, rbp
mov rdx, r12
call fcn.14004a9e8
lea r12, [r14 + 2]
movzx ecx, word [r12]
call fcn.14004a59c
test al, al
je 0x140016176
mov ebp, 2
mov rcx, r12
or dword [rbx + 0x6154], ebp
call fcn.14004da8c
mov dword [rbx + 0x6158], eax
jmp 0x140016a08
movzx ecx, word [r12]
call fcn.14004dab4
test eax, eax
je 0x140016345
mov ecx, 0x2d
sub eax, ecx
je 0x14001633a
sub eax, 0x16
je 0x140016265
sub eax, edi
je 0x140016259
sub eax, edi
je 0x14001624d
sub eax, 4
je 0x14001622c
sub eax, r15d
je 0x140016205
sub eax, edi
je 0x1400161de
cmp eax, 9
jne 0x140016a08
cmp word [r14 + 4], cx
lea eax, [rcx - 0x1d]
lea edx, [rcx - 0x25]
cmove eax, edx
or dword [rbx + 0x6154], eax
jmp 0x140016a08
movzx ecx, word [r14 + 4]
call fcn.14004a59c
test al, al
je 0x140016a08
lea rcx, [r14 + 4]
call fcn.14004da38
mov qword [rbx + 0x6428], rax
jmp 0x140016a08
movzx ecx, word [r14 + 4]
call fcn.14004a59c
test al, al
je 0x140016a08
lea rcx, [r14 + 4]
call fcn.14004da38
mov qword [rbx + 0x6420], rax
jmp 0x140016a08
lea rax, [r14 + 4]
mov r8, rbp
cmp word [rax], si
lea rdx, [0x140071dd8]
lea rcx, [rbx + 0x750e]
cmovne rdx, rax
jmp 0x140015d04
or dword [rbx + 0x6154], 4
jmp 0x140016a08
or dword [rbx + 0x6154], 8
jmp 0x140016a08
movzx ecx, word [r14 + 4]
mov r12b, sil
call fcn.14004dab4
cmp eax, 0x41
je 0x1400162a9
cmp eax, 0x46
je 0x1400162a2
cmp eax, 0x4f
je 0x14001629b
cmp eax, 0x55
je 0x140016296
mov rdx, r14
mov rcx, rbx
call fcn.14001417c
jmp 0x14001632a
mov ebp, r15d
jmp 0x1400162ab
mov ebp, 2
jmp 0x1400162ab
mov ebp, 4
jmp 0x1400162ab
mov ebp, edi
cmp word [r14 + 6], si
jne 0x1400162cc
mov dword [rbx + 0x402c], ebp
mov dword [rbx + 0x4028], ebp
mov dword [rbx + 0x4024], ebp
mov dword [rbx + 0x4020], ebp
jmp 0x14001632a
test r12b, r12b
jne 0x14001632a
mov eax, r15d
movzx ecx, word [r14 + rax*2]
call fcn.14004dab4
cmp eax, 0x43
je 0x14001631a
cmp eax, 0x47
je 0x140016312
cmp eax, 0x4c
je 0x14001630a
cmp eax, 0x52
je 0x140016302
mov rdx, r14
mov rcx, rbx
call fcn.14001417c
mov r12b, dil
jmp 0x140016320
mov dword [rbx + 0x402c], ebp
jmp 0x140016320
mov dword [rbx + 0x4024], ebp
jmp 0x140016320
mov dword [rbx + 0x4028], ebp
jmp 0x140016320
mov dword [rbx + 0x4020], ebp
add r15d, edi
cmp word [r14 + r15*2], si
jne 0x1400162cc
mov ecx, dword [rbx + 0x402c]
call fcn.140017d98
jmp 0x140016a08
mov dword [rbx + 0x6154], esi
jmp 0x140016a08
or dword [rbx + 0x6154], edi
jmp 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
test eax, eax
je 0x140016453
mov ecx, 0x2d
cmp eax, ecx
je 0x140016443
cmp eax, 0x30
je 0x140016431
cmp eax, 0x49
je 0x1400163c3
cmp eax, 0x52
je 0x1400163a6
cmp eax, 0x56
jne 0x140016a08
lea r8d, [rcx - 0x37]
mov rcx, rbx
lea rdx, [r14 + 4]
call fcn.1400145c8
mov dword [rbx + 0x614c], eax
jmp 0x140016a08
lea rdx, [r14 + 4]
mov r8d, 0xfffffffd
mov rcx, rbx
call fcn.1400145c8
mov dword [rbx + 0x6148], eax
jmp 0x140016a08
lea rcx, [r14 + 4]
call fcn.14004da8c
mov dword [rbx + 0x61b4], eax
cmp eax, 0xf
jbe 0x1400163e2
mov rdx, r14
mov rcx, rbx
call fcn.14001417c
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005c8a0
test rax, rax
je 0x140016421
lea rcx, [rax + 2]
call fcn.14004da8c
mov dword [rbx + 0x61b8], eax
cmp eax, 0x3e8
jle 0x140016416
mov rdx, r14
mov rcx, rbx
call fcn.14001417c
mov ecx, dword [rbx + 0x61b8]
call fcn.14004b338
mov ecx, dword [rbx + 0x61b4]
call fcn.14004b4ec
jmp 0x140016a08
mov r15d, 3
mov dword [rbx + 0x6168], r15d
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x6168], edi
jmp 0x140016a08
mov ebp, 2
mov dword [rbx + 0x6168], ebp
jmp 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
cmp eax, 0x4f
jne 0x140016701
movzx ecx, word [r14 + 4]
call fcn.14004dab4
xor esi, esi
test eax, eax
je 0x1400164b5
lea r12d, [rsi + 0x2b]
cmp eax, r12d
je 0x1400164a5
lea ecx, [rsi + 0x2d]
cmp eax, ecx
jne 0x140016701
mov dword [rbx + 0x2018], esi
jmp 0x140016a08
mov ebp, 2
mov dword [rbx + 0x2018], ebp
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x2018], edi
jmp 0x140016a08
lea rdx, [r14 + 2]
xor esi, esi
cmp word [rdx], si
jne 0x1400164ec
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004d30c
lea rcx, [0x140071cb4]
jmp 0x140015fac
lea rcx, [rbx + 0x5030]
call fcn.140048094
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x1400164fc
lea rdx, [rax + rax]
mov rcx, r14
call fcn.1400480ec
jmp 0x140016a08
movzx ecx, word [r14 + 2]
call fcn.14004dab4
mov edx, eax
cmp eax, 0x49
jg 0x14001662c
cmp eax, 0x49
je 0x1400165a6
test eax, eax
je 0x140016597
mov r12d, 0x2b
cmp eax, r12d
je 0x140016587
lea ecx, [r12 + 2]
cmp eax, ecx
je 0x140016577
cmp eax, 0x43
je 0x140016566
cmp eax, 0x48
jne 0x140016701
lea edi, [rax - 0x47]
mov byte [rbx + 0x61b2], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x63dd], dil
jmp 0x140016a08
mov ebp, 2
mov dword [rbx + 0x613c], ebp
jmp 0x140016a08
mov edi, 1
mov dword [rbx + 0x613c], edi
jmp 0x140016a08
mov dword [rbx + 0x613c], 4
jmp 0x140016a08
movzx edx, word [r14 + 4]
xor esi, esi
sub edx, 0x2d
je 0x1400165fa
lea r15d, [rsi + 3]
sub edx, r15d
je 0x1400165fa
lea ebp, [rsi + 2]
sub edx, ebp
je 0x1400165f2
sub edx, 1
je 0x1400165e9
lea edi, [rsi + 1]
cmp edx, edi
je 0x1400165d6
mov dword [rbx + 0x61c8], edi
jmp 0x140016600
mov dword [rbx + 0x61c8], 4
mov byte [rbx + 0x8520], dil
jmp 0x140016600
mov dword [rbx + 0x61c8], r15d
jmp 0x140016600
mov dword [rbx + 0x61c8], ebp
jmp 0x140016600
mov dword [rbx + 0x61c8], esi
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005c8a0
test rax, rax
je 0x140016a08
lea rcx, [rax + 2]
call fcn.14004da38
mov qword [rbx + 0x61d0], rax
jmp 0x140016a08
sub edx, 0x4c
je 0x14001669d
sub edx, 2
je 0x14001667b
sub edx, 4
je 0x140016669
sub edx, 1
je 0x140016658
cmp edx, 4
jne 0x140016701
lea edi, [rdx - 3]
mov byte [rbx + 0x61b0], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x63dc], dil
jmp 0x140016a08
mov r15d, 3
mov dword [rbx + 0x613c], r15d
jmp 0x140016a08
movzx ecx, word [r14 + 4]
call fcn.14004dab4
cmp eax, 0x49
jne 0x140016a08
lea edi, [rax - 0x48]
mov byte [rbx + 0x61bf], dil
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61b1], dil
movzx ecx, word [r14 + 4]
call fcn.14004dab4
cmp eax, 0x41
jne 0x140016a08
mov byte [rbx + 0x61b3], dil
jmp 0x140016a08
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016701
lea edi, [rsi + 1]
mov byte [rbx + 0x6160], dil
jmp 0x140016a08
sub ecx, 0x56
je 0x1400167f1
sub ecx, 1
je 0x1400167cc
sub ecx, 1
je 0x14001674a
sub ecx, 1
je 0x140016739
cmp ecx, 1
je 0x140016711
mov rcx, rbx
mov rdx, r14
call fcn.14001417c
jmp 0x140016a08
lea rdx, [r14 + 2]
xor esi, esi
lea rcx, [rbx + 0x301e]
mov r8d, 0x800
cmp word [rdx], si
jne 0x140015d04
lea rdx, [0x140071de8]
jmp 0x140015d04
mov edi, 1
mov byte [rbx + 0x61a4], dil
jmp 0x140016a08
lea rdi, [r14 + 2]
xor esi, esi
cmp word [rdi], si
je 0x140016a08
movzx ecx, word [r14]
call fcn.14004dab4
cmp eax, 0x4e
lea rcx, [rbx + 0xa6c8]
lea rbp, [rbx + 0xa608]
cmove rbp, rcx
cmp word [rdi], 0x40
jne 0x1400167bc
mov rcx, r14
call fcn.140034874
test al, al
jne 0x1400167bc
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.140024044
jmp 0x140016a08
mov rdx, rdi
mov rcx, rbp
call fcn.14004aa48
jmp 0x140016a08
mov ebp, 0x800
lea rdx, [r14 + 2]
mov r8d, ebp
lea rcx, [rbx + 0x18]
call fcn.14004a9e8
mov edx, ebp
lea rcx, [rbx + 0x18]
call fcn.1400334b0
jmp 0x140016a08
lea r13, [r14 + 2]
movzx ecx, word [r13]
call fcn.14004dab4
sub eax, 0x2d
je 0x1400169ff
sub eax, 0x17
je 0x1400169f1
sub eax, 1
je 0x1400169cf
mov edi, 1
sub eax, 9
je 0x1400169c6
lea ebp, [rdi + 1]
cmp eax, ebp
je 0x1400169bd
xor esi, esi
cmp byte [rbx + 0x8521], sil
jne 0x140016858
lea rcx, [rbx + 0x6178]
mov qword [rbx + 0x6170], rsi
call fcn.140043384
mov byte [rbx + 0x8521], dil
mov r15, rsi
mov r12, rsi
cmp word [r13], si
je 0x140016990
mov ebx, edi
movzx ecx, word [r13]
call fcn.14004a59c
test al, al
je 0x140016893
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 0x14001689d
cmp word [r13], 0x2e
cmove r12, rdi
add ebx, edi
lea r13, [r14 + rbx*2]
cmp word [r13], si
jne 0x14001686b
mov rbx, qword [rsp + 0x50]
test r15, r15
je 0x140016990
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x1400168bc
movzx ecx, word [r14 + rax*2 - 2]
sub ecx, 0x42
je 0x14001697e
sub ecx, 4
je 0x14001692b
sub ecx, edi
je 0x140016922
sub ecx, 6
je 0x140016919
sub ecx, 0x15
je 0x14001697e
sub ecx, 4
je 0x14001692b
sub ecx, edi
je 0x140016913
sub ecx, 4
je 0x14001690d
cmp ecx, ebp
je 0x140016907
imul r15, r15, 0x3e8
jmp 0x14001697e
shl r15, 0x14
jmp 0x14001697e
shl r15, 0xa
jmp 0x14001697e
shl r15, 0x1e
jmp 0x14001697e
imul r15, r15, 0xf4240
jmp 0x14001697e
imul r15, r15, 0x3b9aca00
jmp 0x14001697e
cmp r15, 0x168
je 0x140016978
cmp r15, 0x2d0
je 0x140016970
cmp r15, 0x4b0
je 0x140016968
cmp r15, 0x5a0
je 0x140016960
cmp r15, 0xb40
jne 0x14001697e
mov r15d, 0x2c7c00
jmp 0x14001697e
mov r15d, 0x163e00
jmp 0x14001697e
mov r15d, 0x128600
jmp 0x14001697e
mov r15d, 0xb2400
jmp 0x14001697e
mov r15d, 0x58800
test r12, r12
je 0x14001699a
mov rax, r15
cqo
idiv r12
mov r15, rax
jmp 0x14001699a
movabs r15, 0x7fffffff7fffffff
cmp qword [rbx + 0x6170], rsi
jne 0x1400169ac
mov qword [rbx + 0x6170], r15
jmp 0x140016a08
lea rcx, [rbx + 0x6178]
mov rdx, r15
call fcn.140016a9c
jmp 0x140016a08
mov byte [rbx + 0x6432], dil
jmp 0x140016a08
mov byte [rbx + 0x61c5], dil
jmp 0x140016a08
movzx ecx, word [r14 + 4]
call fcn.14004dab4
cmp eax, 0x52
jne 0x140016a08
lea rcx, [r14 + 6]
call fcn.14004da8c
inc eax
mov dword [rbx + 0x74f4], eax
jmp 0x140016a08
mov edi, 1
mov byte [rbx + 0x61c1], dil
jmp 0x140016a08
xor esi, esi
mov qword [rbx + 0x6170], rsi
mov rcx, qword [rsp + 0x1860]
xor rcx, rsp
call fcn.14005a610
mov rbx, qword [rsp + 0x18c0]
add rsp, 0x1870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret