Function at 0x140015774
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.14005af20
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.14004e420
mov ecx, eax
cmp eax, 0x4e
jg 0x140016285
cmp eax, 0x4e
je 0x140016a21
cmp eax, 0x46
jg 0x140015b60
je 0x140015b44
sub ecx, 0x3f
je 0x140015b35
sub ecx, 1
je 0x140015b14
sub ecx, 1
je 0x1400159bc
mov ebp, 2
sub ecx, ebp
je 0x140015966
sub ecx, 1
je 0x1400158d2
cmp ecx, 1
jne 0x1400169d8
lea rdi, [r14 + 2]
movzx ecx, word [rdi]
call fcn.14004e420
cmp eax, 0x4e
je 0x1400158c1
cmp eax, 0x50
je 0x140015869
lea r12d, [rbp + 0x29]
mov rcx, rbx
cmp word [rdi], r12w
jne 0x140015856
lea r8, [rbx + 9]
lea rdx, [r14 + 4]
call fcn.1400147e4
or dword [rbx + 4], eax
lea edi, [rbp - 1]
mov byte [rbx + 0xa], dil
jmp 0x140016cdf
lea r8, [rbx + 8]
mov rdx, rdi
call fcn.1400147e4
or dword [rbx], eax
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
test ecx, ecx
je 0x1400158b1
sub ecx, 0x31
je 0x1400158a6
sub ecx, 1
je 0x140015894
cmp ecx, 1
jne 0x140016cdf
mov dword [rbx + 0x6168], 4
jmp 0x140016cdf
mov r15d, 3
mov dword [rbx + 0x6168], r15d
jmp 0x140016cdf
mov dword [rbx + 0x6168], ebp
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x6168], edi
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61c4], dil
jmp 0x140016cdf
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
sub eax, 0x46
je 0x140015955
sub eax, ebp
je 0x140015944
sub eax, 0xa
je 0x14001592c
sub eax, 1
je 0x14001591b
cmp eax, 4
jne 0x140016cdf
lea edi, [rsi + 1]
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c2], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61a6], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c3], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61bd], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61be], dil
jmp 0x140016cdf
xor esi, esi
cmp word [r14 + 4], si
jne 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
lea ecx, [rsi + 0x2d]
cmp eax, ecx
je 0x1400159ab
cmp eax, 0x4c
je 0x1400159a0
cmp eax, 0x55
jne 0x140016cdf
lea edi, [rsi + 1]
mov dword [rbx + 0x61ac], edi
jmp 0x140016cdf
mov dword [rbx + 0x61ac], ebp
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x6162], dil
jmp 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
sub eax, 0x43
je 0x140015b03
sub eax, 1
je 0x140015ab4
mov r15d, 3
sub eax, r15d
je 0x140015a51
sub eax, 2
je 0x140015a40
sub eax, 5
je 0x140016cdf
sub eax, 1
je 0x140015a2f
sub eax, 1
je 0x140015a1f
sub eax, r15d
je 0x140015a0e
cmp eax, r15d
je 0x140016cdf
jmp 0x1400169d8
mov edi, 1
mov byte [rbx + 0x63da], dil
jmp 0x140016cdf
lea rdx, [r14 + 4]
lea rcx, [rbx + 0x4030]
jmp 0x140015fae
mov edi, 1
mov byte [rbx + 0x6161], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x63de], dil
jmp 0x140016cdf
lea r15, [r14 + 4]
mov ecx, 0x2d
cmp word [r15], cx
jne 0x140015a75
xor esi, esi
cmp word [r14 + 6], si
jne 0x140015a75
mov byte [rbx + 0x61d9], sil
jmp 0x140016cdf
movzx ecx, word [r15]
call fcn.14004e420
mov r8d, 0x80
cmp eax, 0x46
jne 0x140015a99
lea rdx, [r14 + 6]
lea rcx, [rbx + 0x62da]
jmp 0x140015fb4
mov edi, 1
lea rcx, [rbx + 0x61da]
mov byte [rbx + 0x61d9], dil
mov rdx, r15
jmp 0x140015fb4
xor esi, esi
cmp word [r14 + 4], si
jne 0x140015acb
lea edi, [rsi + 1]
mov dword [rbx + 0x74f8], edi
jmp 0x140016cdf
mov eax, 0x31
cmp word [r14 + 4], ax
jne 0x140015ae5
lea ebp, [rax - 0x2f]
mov dword [rbx + 0x74f8], ebp
jmp 0x140016cdf
cmp word [r14 + 4], 0x32
jne 0x140016cdf
mov r15d, 3
mov dword [rbx + 0x74f8], r15d
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x6160], dil
jmp 0x140016cdf
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 0x140016cdf
xor edx, edx
mov rcx, rbx
call fcn.140014ad0
jmp 0x140016cdf
xor esi, esi
cmp word [r14 + 2], si
jne 0x1400169d8
lea edi, [rsi + 1]
mov byte [rbx + 0x6163], dil
jmp 0x140016cdf
sub ecx, 0x48
je 0x1400161d1
sub ecx, 1
je 0x140015f73
mov ebp, 2
sub ecx, ebp
je 0x140015f3c
sub ecx, 1
je 0x140015f04
cmp ecx, 1
jne 0x1400169d8
movzx ecx, word [r14 + 2]
call fcn.14004e420
sub eax, 0x41
je 0x140015ee2
sub eax, ebp
je 0x140015d70
sub eax, 1
je 0x140015cc4
sub eax, 9
je 0x140016cdf
sub eax, 6
je 0x140015bfa
cmp eax, 1
je 0x140015bdb
movzx eax, word [r14 + 2]
sub eax, 0x30
mov dword [rbx + 0x6140], eax
cmp eax, 5
jmp 0x140015bef
lea rcx, [r14 + 4]
call fcn.14004e3f8
mov dword [rbx + 0x8510], eax
dec eax
cmp eax, 0x3f
jbe 0x140016cdf
jmp 0x1400169d8
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.14004b288
lea rdi, [rsp + 0x60]
cmp word [rsp + 0x60], si
je 0x140016cdf
lea r15, [rbx + 0xa848]
mov ebp, 0x800
mov edx, 0x3b
mov rcx, rdi
call fcn.14005d220
mov rbx, rax
test rax, rax
je 0x140015c52
mov word [rax], si
cmp word [rdi], 0x2e
lea r14, [rdi + 2]
lea rdx, [0x140072d58]
cmovne r14, rdi
mov rcx, r14
call fcn.14006205c
lea rcx, [rsp + 0x860]
test rax, rax
jne 0x140015c8e
mov r9, r14
lea r8, str.._ls
mov rdx, rbp
call fcn.1400066fc
jmp 0x140015c99
mov r8, rbp
mov rdx, r14
call fcn.14004b288
lea rdx, [rsp + 0x860]
mov rcx, r15
call fcn.14004b2e8
test rbx, rbx
je 0x140016cdf
lea rdi, [rbx + 2]
cmp word [rdi], si
jne 0x140015c3a
jmp 0x140016cdf
lea rcx, [r14 + 4]
call fcn.14004e3f8
xor esi, esi
movsxd rcx, eax
mov qword [rbx + 0x10], rcx
test eax, eax
jne 0x140015cf5
movzx ecx, word [r14 + 4]
call fcn.14004e420
mov edx, 0x10000
lea ecx, [rax - 0x41]
shl rdx, cl
mov qword [rbx + 0x10], rdx
jmp 0x140015d34
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140015cf9
movzx ecx, word [r14 + rax*2 - 2]
call fcn.14004e420
cmp eax, 0x47
je 0x140015d28
cmp eax, 0x4b
mov rax, qword [rbx + 0x10]
je 0x140015d22
shl rax, 0x14
jmp 0x140015d30
shl rax, 0xa
jmp 0x140015d30
mov rax, qword [rbx + 0x10]
shl rax, 0x1e
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x10], 0x40000000
ja 0x140015d4e
mov rcx, rbx
call fcn.140014608
test al, al
jne 0x140016cdf
mov ecx, 0xe44
call fcn.140045354
mov rcx, rax
mov rdx, r14
call fcn.14001871c
mov qword [rbx + 0x10], 0x400000
jmp 0x140016cdf
add r14, 4
mov ecx, 0x2d
movzx eax, word [r14]
cmp ax, cx
jne 0x140015da4
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 0x140015d93
jmp 0x140016cdf
xor esi, esi
test ax, ax
je 0x140016cdf
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.14004ae3c
test al, al
je 0x140015df0
mov rcx, r14
call fcn.14004e3f8
mov dword [rsp + 0x44], eax
jmp 0x140015de3
add r14, rbp
movzx ecx, word [r14]
call fcn.14004ae3c
test al, al
jne 0x140015de0
mov eax, 0x3a
cmp word [r14], ax
jne 0x140015e33
lea rax, [r14 + 2]
movzx ecx, word [rax]
mov qword [rsp + 0x58], rax
call fcn.14004ae3c
test al, al
je 0x140015e33
mov r14, qword [rsp + 0x58]
mov rcx, r14
call fcn.14004e3f8
mov dword [rsp + 0x48], eax
jmp 0x140015e26
add r14, rbp
movzx ecx, word [r14]
call fcn.14004ae3c
test al, al
jne 0x140015e23
movzx ecx, word [r14]
add r14, rbp
call fcn.14004e420
sub eax, 0x41
je 0x140015e76
sub eax, ebp
je 0x140015e6f
sub eax, edi
je 0x140015e6a
sub eax, edi
je 0x140015e65
sub eax, 0xd
je 0x140015e60
cmp eax, ebp
jne 0x140015e7d
mov edx, 7
jmp 0x140015e80
mov rdx, r15
jmp 0x140015e80
mov rdx, rdi
jmp 0x140015e80
mov rdx, rsi
jmp 0x140015e80
mov edx, 5
jmp 0x140015e80
mov edx, 4
jmp 0x140015e80
mov rdx, r13
movzx ecx, word [r14]
mov r8d, 0xfffd
movzx eax, cx
sub ax, r12w
test r8w, ax
jne 0x140015ea9
add r14, rbp
cmp cx, r12w
jne 0x140015ea4
mov eax, ebp
jmp 0x140015eab
mov eax, r15d
jmp 0x140015eab
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 0x140015dbe
jmp 0x140016cdf
xor esi, esi
cmp word [r14 + 4], si
je 0x140015ef3
cmp word [r14 + 4], 0x35
jne 0x140015ef8
mov esi, 1
mov byte [rbx + 0x61c0], sil
jmp 0x140016cdf
lea rcx, [r14 + 2]
mov r8, rbp
lea rdx, [0x140072d50]
call fcn.14004e474
test eax, eax
jne 0x140016cdf
lea rdx, [r14 + 6]
lea rcx, [0x14009b8b0]
call fcn.1400289ac
test al, al
jne 0x140016cdf
jmp 0x1400169d8
movzx ecx, word [r14 + 2]
call fcn.14004e420
test eax, eax
je 0x140015f62
cmp eax, 0x42
jne 0x140016cdf
lea edi, [rax - 0x41]
mov byte [rbx + 0x61bc], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x6430], dil
jmp 0x140016cdf
lea rdi, [r14 + 2]
mov r15d, 3
mov r8d, r15d
lea rdx, [0x140072d00]
mov rcx, rdi
call fcn.14004e474
xor esi, esi
test eax, eax
jne 0x140015fbe
lea rdx, [0x140072d08]
lea rcx, [rbx + 0x5134]
lea rax, [r14 + 8]
cmp word [rax], si
cmovne rdx, rax
mov r8d, 0x800
call fcn.14004b288
jmp 0x140016cdf
mov r8, r15
lea rdx, [0x140072d18]
mov rcx, rdi
call fcn.14004e474
test eax, eax
jne 0x140015ff0
lea ecx, [rax + 0x2d]
cmp word [r14 + 8], cx
lea edi, [rax + 1]
sete sil
add esi, edi
mov dword [rbx + 0x6138], esi
jmp 0x140016cdf
lea rdx, [0x140072d20]
mov rcx, rdi
call fcn.14004e42c
test eax, eax
jne 0x140016018
lea edi, [rax + 1]
mov dword [rbx + 0x6134], edi
mov ecx, edi
call fcn.140018068
jmp 0x140016cdf
mov r8, r15
lea rdx, [0x140072d28]
mov rcx, rdi
call fcn.14004e474
test eax, eax
jne 0x140016041
lea rdx, [0x140072cb4]
lea rcx, [rbx + 0x64f4]
jmp 0x140015fa3
lea rdx, [0x140072cdc]
mov rcx, rdi
call fcn.14004e42c
test eax, eax
jne 0x140016063
lea edi, [rax + 1]
mov byte [rbx + 0x61a5], dil
jmp 0x140016cdf
lea rdx, [0x140072d30]
mov rcx, rdi
call fcn.14004e42c
test eax, eax
jne 0x140016082
mov dword [rbx + 0x6134], r15d
mov ecx, r15d
jmp 0x14001600e
movzx ecx, word [rdi]
call fcn.14004e420
cmp eax, 0x44
jne 0x140016117
lea ebp, [rax - 0x42]
lea rax, [r14 + 4]
mov r15d, ebp
cmp word [rax], si
je 0x140016cdf
lea edi, [rbp - 1]
movzx ecx, word [rax]
call fcn.14004e420
sub eax, 0x43
je 0x1400160ff
sub eax, edi
je 0x1400160f6
sub eax, 0xa
je 0x1400160ed
sub eax, ebp
je 0x1400160e4
sub eax, edi
je 0x1400160d5
cmp eax, 5
jne 0x140016106
mov byte [rbx + 0x61a5], dil
jmp 0x140016106
mov ecx, ebp
mov dword [rbx + 0x6134], ebp
call fcn.140018068
jmp 0x140016106
mov byte [rbx + 0x6150], dil
jmp 0x140016106
mov byte [rbx + 0x6153], dil
jmp 0x140016106
mov byte [rbx + 0x6152], dil
jmp 0x140016106
mov byte [rbx + 0x6151], dil
add r15d, edi
lea rax, [r14 + r15*2]
cmp word [rax], si
jne 0x1400160a9
jmp 0x140016cdf
mov r8, r15
lea rdx, [0x140072d38]
mov rcx, rdi
call fcn.14004e474
test eax, eax
jne 0x140016189
movzx ecx, word [r14 + 8]
test ecx, ecx
je 0x140016179
sub ecx, 0x31
je 0x140016179
sub ecx, 1
je 0x140016169
sub ecx, 1
je 0x14001615d
cmp ecx, 1
jne 0x140016cdf
mov dword [rbx + 0x74fc], 4
jmp 0x140016cdf
mov dword [rbx + 0x74fc], r15d
jmp 0x140016cdf
mov ebp, 2
mov dword [rbx + 0x74fc], ebp
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x74fc], edi
jmp 0x140016cdf
lea rdx, [0x140072d40]
mov rcx, rdi
call fcn.14004e42c
test eax, eax
jne 0x1400161ab
lea edi, [rax + 1]
mov byte [rbx + 0x6154], dil
jmp 0x140016cdf
lea rdx, [0x140072d48]
mov rcx, rdi
call fcn.14004e42c
test eax, eax
jne 0x140016cdf
lea edi, [rax + 1]
mov byte [rbx + 0x61d8], dil
jmp 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
cmp eax, 0x50
je 0x140016221
cmp eax, 0x54
jne 0x1400169d8
movzx ecx, word [r14 + 4]
call fcn.14004e420
sub eax, 0x42
je 0x14001620f
cmp eax, 1
jne 0x1400169d8
lea ebp, [rax + 1]
mov dword [rbx + 0x6144], ebp
jmp 0x140016cdf
mov r15d, 3
mov dword [rbx + 0x6144], r15d
jmp 0x140016cdf
mov edi, 1
lea rdx, [r14 + 4]
xor esi, esi
mov byte [rbx + 0x5132], dil
cmp word [rdx], si
je 0x140016257
lea rcx, [rbx + 0x5030]
call fcn.1400489f4
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140016248
jmp 0x1400167dd
cmp byte [rbx + 0x5130], sil
jne 0x140016cdf
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004dc58
lea rcx, [0x140072c9c]
call fcn.140018564
jmp 0x140016cdf
cmp ecx, 0x55
jg 0x1400169b7
je 0x14001699f
sub ecx, 0x4f
je 0x1400167ee
sub ecx, 1
je 0x14001679c
sub ecx, 1
je 0x14001673a
sub ecx, 1
je 0x140016627
sub ecx, 1
je 0x140016395
cmp ecx, 1
jne 0x1400169d8
movzx ecx, word [r14 + 2]
call fcn.14004e420
xor esi, esi
test eax, eax
je 0x140016384
sub eax, 0x2d
je 0x140016378
sub eax, 0x14
je 0x140016373
sub eax, 1
je 0x14001636a
sub eax, 9
je 0x14001635a
sub eax, 1
je 0x14001634a
sub eax, 2
je 0x14001633f
sub eax, 1
je 0x140016323
mov rcx, rbx
cmp eax, 4
jne 0x1400169db
lea rdx, [r14 + 4]
call fcn.140017074
jmp 0x140016cdf
mov edi, 1
mov r9b, dil
mov r8b, dil
lea rdx, [r14 + 4]
mov rcx, rbx
call fcn.14001715c
jmp 0x140016cdf
mov r9d, 1
xor r8d, r8d
jmp 0x14001632e
mov ebp, 2
mov dword [rbx + 0x61a8], ebp
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x61a8], edi
jmp 0x140016cdf
xor r9d, r9d
lea r8d, [r9 + 1]
jmp 0x14001632e
xor r9d, r9d
jmp 0x140016345
mov byte [rbx + 0x6431], sil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x6431], dil
jmp 0x140016cdf
mov r15d, 3
lea rdx, [0x140072e00]
mov r8d, r15d
mov rcx, r14
call fcn.14004e474
xor esi, esi
lea edi, [r15 - 2]
mov ebp, 0x800
test eax, eax
jne 0x140016415
lea rax, [r14 + 6]
cmp word [rax], si
lea r12, [0x140072e08]
cmovne r12, rax
mov rcx, r12
call fcn.1400357f0
cmp rax, r12
jne 0x140016403
mov rcx, r12
call fcn.1400239c4
test al, al
jne 0x140016403
lea rdx, [rbx + 0x1018]
mov byte [rsp + 0x20], sil
mov r9b, dil
mov r8d, ebp
mov rcx, r12
call fcn.140034b3c
jmp 0x140016415
lea rcx, [rbx + 0x1018]
mov r8, rbp
mov rdx, r12
call fcn.14004b288
lea r12, [r14 + 2]
movzx ecx, word [r12]
call fcn.14004ae3c
test al, al
je 0x140016445
mov ebp, 2
mov rcx, r12
or dword [rbx + 0x6158], ebp
call fcn.14004e3f8
mov dword [rbx + 0x615c], eax
jmp 0x140016cdf
movzx ecx, word [r12]
call fcn.14004e420
test eax, eax
je 0x14001661c
mov ecx, 0x2d
sub eax, ecx
je 0x140016611
sub eax, 0x16
je 0x14001653c
sub eax, edi
je 0x14001652a
sub eax, edi
je 0x14001651e
sub eax, 4
je 0x1400164fd
sub eax, r15d
je 0x1400164d6
sub eax, edi
je 0x1400164af
cmp eax, 9
jne 0x140016cdf
cmp word [r14 + 4], cx
lea eax, [rcx - 0x1d]
lea r13d, [rcx - 0x25]
cmove eax, r13d
or dword [rbx + 0x6158], eax
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
call fcn.14004ae3c
test al, al
je 0x140016cdf
lea rcx, [r14 + 4]
call fcn.14004e3a4
mov qword [rbx + 0x6428], rax
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
call fcn.14004ae3c
test al, al
je 0x140016cdf
lea rcx, [r14 + 4]
call fcn.14004e3a4
mov qword [rbx + 0x6420], rax
jmp 0x140016cdf
lea rax, [r14 + 4]
mov r8, rbp
cmp word [rax], si
lea rdx, [0x140072e20]
lea rcx, [rbx + 0x750e]
cmovne rdx, rax
jmp 0x140015fb4
or dword [rbx + 0x6158], 4
jmp 0x140016cdf
mov r13d, 8
or dword [rbx + 0x6158], r13d
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
mov r12b, sil
call fcn.14004e420
cmp eax, 0x41
je 0x140016580
cmp eax, 0x46
je 0x140016579
cmp eax, 0x4f
je 0x140016572
cmp eax, 0x55
je 0x14001656d
mov rdx, r14
mov rcx, rbx
call fcn.140014430
jmp 0x140016601
mov ebp, r15d
jmp 0x140016582
mov ebp, 2
jmp 0x140016582
mov ebp, 4
jmp 0x140016582
mov ebp, edi
cmp word [r14 + 6], si
jne 0x1400165a3
mov dword [rbx + 0x402c], ebp
mov dword [rbx + 0x4028], ebp
mov dword [rbx + 0x4024], ebp
mov dword [rbx + 0x4020], ebp
jmp 0x140016601
test r12b, r12b
jne 0x140016601
mov eax, r15d
movzx ecx, word [r14 + rax*2]
call fcn.14004e420
cmp eax, 0x43
je 0x1400165f1
cmp eax, 0x47
je 0x1400165e9
cmp eax, 0x4c
je 0x1400165e1
cmp eax, 0x52
je 0x1400165d9
mov rdx, r14
mov rcx, rbx
call fcn.140014430
mov r12b, dil
jmp 0x1400165f7
mov dword [rbx + 0x402c], ebp
jmp 0x1400165f7
mov dword [rbx + 0x4024], ebp
jmp 0x1400165f7
mov dword [rbx + 0x4028], ebp
jmp 0x1400165f7
mov dword [rbx + 0x4020], ebp
add r15d, edi
cmp word [r14 + r15*2], si
jne 0x1400165a3
mov ecx, dword [rbx + 0x402c]
call fcn.140018070
jmp 0x140016cdf
mov dword [rbx + 0x6158], esi
jmp 0x140016cdf
or dword [rbx + 0x6158], edi
jmp 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
test eax, eax
je 0x14001672a
mov ecx, 0x2d
cmp eax, ecx
je 0x14001671a
cmp eax, 0x30
je 0x140016708
cmp eax, 0x49
je 0x14001669a
cmp eax, 0x52
je 0x14001667d
cmp eax, 0x56
jne 0x140016cdf
lea r8d, [rcx - 0x37]
mov rcx, rbx
lea rdx, [r14 + 4]
call fcn.14001487c
mov dword [rbx + 0x614c], eax
jmp 0x140016cdf
lea rdx, [r14 + 4]
mov r8d, 0xfffffffd
mov rcx, rbx
call fcn.14001487c
mov dword [rbx + 0x6148], eax
jmp 0x140016cdf
lea rcx, [r14 + 4]
call fcn.14004e3f8
mov dword [rbx + 0x61b4], eax
cmp eax, 0xf
jbe 0x1400166b9
mov rdx, r14
mov rcx, rbx
call fcn.140014430
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005d220
test rax, rax
je 0x1400166f8
lea rcx, [rax + 2]
call fcn.14004e3f8
mov dword [rbx + 0x61b8], eax
cmp eax, 0x3e8
jle 0x1400166ed
mov rdx, r14
mov rcx, rbx
call fcn.140014430
mov ecx, dword [rbx + 0x61b8]
call fcn.14004bbd8
mov ecx, dword [rbx + 0x61b4]
call fcn.14004bd8c
jmp 0x140016cdf
mov r15d, 3
mov dword [rbx + 0x616c], r15d
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x616c], edi
jmp 0x140016cdf
mov ebp, 2
mov dword [rbx + 0x616c], ebp
jmp 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
cmp eax, 0x4f
jne 0x1400169d8
movzx ecx, word [r14 + 4]
call fcn.14004e420
xor esi, esi
test eax, eax
je 0x14001678c
lea r12d, [rsi + 0x2b]
cmp eax, r12d
je 0x14001677c
lea ecx, [rsi + 0x2d]
cmp eax, ecx
jne 0x1400169d8
mov dword [rbx + 0x2018], esi
jmp 0x140016cdf
mov ebp, 2
mov dword [rbx + 0x2018], ebp
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x2018], edi
jmp 0x140016cdf
lea rdx, [r14 + 2]
xor esi, esi
cmp word [rdx], si
jne 0x1400167c3
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004dc58
lea rcx, [0x140072cfc]
jmp 0x14001627b
lea rcx, [rbx + 0x5030]
call fcn.1400489f4
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x1400167d3
lea rdx, [rax + rax]
mov rcx, r14
call fcn.140048a4c
jmp 0x140016cdf
movzx ecx, word [r14 + 2]
call fcn.14004e420
mov edx, eax
cmp eax, 0x49
jg 0x140016903
cmp eax, 0x49
je 0x14001687d
test eax, eax
je 0x14001686e
mov r12d, 0x2b
cmp eax, r12d
je 0x14001685e
lea ecx, [r12 + 2]
cmp eax, ecx
je 0x14001684e
cmp eax, 0x43
je 0x14001683d
cmp eax, 0x48
jne 0x1400169d8
lea edi, [rax - 0x47]
mov byte [rbx + 0x61b2], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x63dd], dil
jmp 0x140016cdf
mov ebp, 2
mov dword [rbx + 0x613c], ebp
jmp 0x140016cdf
mov edi, 1
mov dword [rbx + 0x613c], edi
jmp 0x140016cdf
mov dword [rbx + 0x613c], 4
jmp 0x140016cdf
movzx edx, word [r14 + 4]
xor esi, esi
sub edx, 0x2d
je 0x1400168d1
lea r15d, [rsi + 3]
sub edx, r15d
je 0x1400168d1
lea ebp, [rsi + 2]
sub edx, ebp
je 0x1400168c9
sub edx, 1
je 0x1400168c0
lea edi, [rsi + 1]
cmp edx, edi
je 0x1400168ad
mov dword [rbx + 0x61c8], edi
jmp 0x1400168d7
mov dword [rbx + 0x61c8], 4
mov byte [rbx + 0x8520], dil
jmp 0x1400168d7
mov dword [rbx + 0x61c8], r15d
jmp 0x1400168d7
mov dword [rbx + 0x61c8], ebp
jmp 0x1400168d7
mov dword [rbx + 0x61c8], esi
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005d220
test rax, rax
je 0x140016cdf
lea rcx, [rax + 2]
call fcn.14004e3a4
mov qword [rbx + 0x61d0], rax
jmp 0x140016cdf
sub edx, 0x4c
je 0x140016974
sub edx, 2
je 0x140016952
sub edx, 4
je 0x140016940
sub edx, 1
je 0x14001692f
cmp edx, 4
jne 0x1400169d8
lea edi, [rdx - 3]
mov byte [rbx + 0x61b0], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x63dc], dil
jmp 0x140016cdf
mov r15d, 3
mov dword [rbx + 0x613c], r15d
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
call fcn.14004e420
cmp eax, 0x49
jne 0x140016cdf
lea edi, [rax - 0x48]
mov byte [rbx + 0x61bf], dil
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61b1], dil
movzx ecx, word [r14 + 4]
call fcn.14004e420
cmp eax, 0x41
jne 0x140016cdf
mov byte [rbx + 0x61b3], dil
jmp 0x140016cdf
xor esi, esi
cmp word [r14 + 2], si
jne 0x1400169d8
lea edi, [rsi + 1]
mov byte [rbx + 0x6164], dil
jmp 0x140016cdf
sub ecx, 0x56
je 0x140016ac8
sub ecx, 1
je 0x140016aa3
sub ecx, 1
je 0x140016a21
sub ecx, 1
je 0x140016a10
cmp ecx, 1
je 0x1400169e8
mov rcx, rbx
mov rdx, r14
call fcn.140014430
jmp 0x140016cdf
lea rdx, [r14 + 2]
xor esi, esi
lea rcx, [rbx + 0x301e]
mov r8d, 0x800
cmp word [rdx], si
jne 0x140015fb4
lea rdx, [0x140072e30]
jmp 0x140015fb4
mov edi, 1
mov byte [rbx + 0x61a4], dil
jmp 0x140016cdf
lea rdi, [r14 + 2]
xor esi, esi
cmp word [rdi], si
je 0x140016cdf
movzx ecx, word [r14]
call fcn.14004e420
cmp eax, 0x4e
lea rcx, [rbx + 0xa6c8]
lea rbp, [rbx + 0xa608]
cmove rbp, rcx
cmp word [rdi], 0x40
jne 0x140016a93
mov rcx, r14
call fcn.140035234
test al, al
jne 0x140016a93
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.1400249a4
jmp 0x140016cdf
mov rdx, rdi
mov rcx, rbp
call fcn.14004b2e8
jmp 0x140016cdf
mov ebp, 0x800
lea rdx, [r14 + 2]
mov r8d, ebp
lea rcx, [rbx + 0x18]
call fcn.14004b288
mov edx, ebp
lea rcx, [rbx + 0x18]
call fcn.140033e70
jmp 0x140016cdf
lea r13, [r14 + 2]
movzx ecx, word [r13]
call fcn.14004e420
sub eax, 0x2d
je 0x140016cd6
sub eax, 0x17
je 0x140016cc8
sub eax, 1
je 0x140016ca6
mov edi, 1
sub eax, 9
je 0x140016c9d
lea ebp, [rdi + 1]
cmp eax, ebp
je 0x140016c94
xor esi, esi
cmp byte [rbx + 0x8521], sil
jne 0x140016b2f
lea rcx, [rbx + 0x6178]
mov qword [rbx + 0x6170], rsi
call fcn.140043ce8
mov byte [rbx + 0x8521], dil
mov r15, rsi
mov r12, rsi
cmp word [r13], si
je 0x140016c67
mov ebx, edi
movzx ecx, word [r13]
call fcn.14004ae3c
test al, al
je 0x140016b6a
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 0x140016b74
cmp word [r13], 0x2e
cmove r12, rdi
add ebx, edi
lea r13, [r14 + rbx*2]
cmp word [r13], si
jne 0x140016b42
mov rbx, qword [rsp + 0x50]
test r15, r15
je 0x140016c67
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140016b93
movzx ecx, word [r14 + rax*2 - 2]
sub ecx, 0x42
je 0x140016c55
sub ecx, 4
je 0x140016c02
sub ecx, edi
je 0x140016bf9
sub ecx, 6
je 0x140016bf0
sub ecx, 0x15
je 0x140016c55
sub ecx, 4
je 0x140016c02
sub ecx, edi
je 0x140016bea
sub ecx, 4
je 0x140016be4
cmp ecx, ebp
je 0x140016bde
imul r15, r15, 0x3e8
jmp 0x140016c55
shl r15, 0x14
jmp 0x140016c55
shl r15, 0xa
jmp 0x140016c55
shl r15, 0x1e
jmp 0x140016c55
imul r15, r15, 0xf4240
jmp 0x140016c55
imul r15, r15, 0x3b9aca00
jmp 0x140016c55
cmp r15, 0x168
je 0x140016c4f
cmp r15, 0x2d0
je 0x140016c47
cmp r15, 0x4b0
je 0x140016c3f
cmp r15, 0x5a0
je 0x140016c37
cmp r15, 0xb40
jne 0x140016c55
mov r15d, 0x2c7c00
jmp 0x140016c55
mov r15d, 0x163e00
jmp 0x140016c55
mov r15d, 0x128600
jmp 0x140016c55
mov r15d, 0xb2400
jmp 0x140016c55
mov r15d, 0x58800
test r12, r12
je 0x140016c71
mov rax, r15
cqo
idiv r12
mov r15, rax
jmp 0x140016c71
movabs r15, 0x7fffffff7fffffff
cmp qword [rbx + 0x6170], rsi
jne 0x140016c83
mov qword [rbx + 0x6170], r15
jmp 0x140016cdf
lea rcx, [rbx + 0x6178]
mov rdx, r15
call fcn.140016d74
jmp 0x140016cdf
mov byte [rbx + 0x6432], dil
jmp 0x140016cdf
mov byte [rbx + 0x61c5], dil
jmp 0x140016cdf
movzx ecx, word [r14 + 4]
call fcn.14004e420
cmp eax, 0x52
jne 0x140016cdf
lea rcx, [r14 + 6]
call fcn.14004e3f8
inc eax
mov dword [rbx + 0x74f4], eax
jmp 0x140016cdf
mov edi, 1
mov byte [rbx + 0x61c1], dil
jmp 0x140016cdf
xor esi, esi
mov qword [rbx + 0x6170], rsi
mov rcx, qword [rsp + 0x1860]
xor rcx, rsp
call fcn.14005af90
mov rbx, qword [rsp + 0x18c0]
add rsp, 0x1870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret