Function at 0x140014e24
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.140059170
sub rsp, rax
mov rax, qword [0x1400886c0]
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.14004c68c
mov ecx, eax
cmp eax, 0x4e
jg 0x14001591a
cmp eax, 0x4e
je 0x1400160ae
cmp eax, 0x46
jg 0x1400151f6
je 0x1400151da
sub ecx, 0x3f
je 0x1400151cb
sub ecx, 1
je 0x1400151aa
sub ecx, 1
je 0x14001506c
mov ebp, 2
sub ecx, ebp
je 0x140015016
sub ecx, 1
je 0x140014f82
cmp ecx, 1
jne 0x140016065
lea rdi, [r14 + 2]
movzx ecx, word [rdi]
call fcn.14004c68c
cmp eax, 0x4e
je 0x140014f71
cmp eax, 0x50
je 0x140014f19
lea r12d, [rbp + 0x29]
mov rcx, rbx
cmp word [rdi], r12w
jne 0x140014f06
lea r8, [rbx + 9]
lea rdx, [r14 + 4]
call fcn.140013e94
or dword [rbx + 4], eax
lea edi, [rbp - 1]
mov byte [rbx + 0xa], dil
jmp 0x14001636c
lea r8, [rbx + 8]
mov rdx, rdi
call fcn.140013e94
or dword [rbx], eax
jmp 0x14001636c
movzx ecx, word [r14 + 4]
test ecx, ecx
je 0x140014f61
sub ecx, 0x31
je 0x140014f56
sub ecx, 1
je 0x140014f44
cmp ecx, 1
jne 0x14001636c
mov dword [rbx + 0x6164], 4
jmp 0x14001636c
mov r15d, 3
mov dword [rbx + 0x6164], r15d
jmp 0x14001636c
mov dword [rbx + 0x6164], ebp
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x6164], edi
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61c4], dil
jmp 0x14001636c
xor esi, esi
cmp word [r14 + 4], si
jne 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
sub eax, 0x46
je 0x140015005
sub eax, ebp
je 0x140014ff4
sub eax, 0xa
je 0x140014fdc
sub eax, 1
je 0x140014fcb
cmp eax, 4
jne 0x14001636c
lea edi, [rsi + 1]
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c2], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61a6], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61be], dil
mov byte [rbx + 0x61c3], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61bd], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61be], dil
jmp 0x14001636c
xor esi, esi
cmp word [r14 + 4], si
jne 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
lea ecx, [rsi + 0x2d]
cmp eax, ecx
je 0x14001505b
cmp eax, 0x4c
je 0x140015050
cmp eax, 0x55
jne 0x14001636c
lea edi, [rsi + 1]
mov dword [rbx + 0x61ac], edi
jmp 0x14001636c
mov dword [rbx + 0x61ac], ebp
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x615e], dil
jmp 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
sub eax, 0x43
je 0x140015199
sub eax, 1
je 0x140015164
mov r15d, 3
sub eax, r15d
je 0x140015101
sub eax, 2
je 0x1400150f0
sub eax, 5
je 0x14001636c
sub eax, 1
je 0x1400150df
sub eax, 1
je 0x1400150cf
sub eax, r15d
je 0x1400150be
cmp eax, r15d
je 0x14001636c
jmp 0x140016065
mov edi, 1
mov byte [rbx + 0x63da], dil
jmp 0x14001636c
lea rdx, [r14 + 4]
lea rcx, [rbx + 0x4030]
jmp 0x140015662
mov edi, 1
mov byte [rbx + 0x615d], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x63de], dil
jmp 0x14001636c
lea r15, [r14 + 4]
mov ecx, 0x2d
cmp word [r15], cx
jne 0x140015125
xor esi, esi
cmp word [r14 + 6], si
jne 0x140015125
mov byte [rbx + 0x61d9], sil
jmp 0x14001636c
movzx ecx, word [r15]
call fcn.14004c68c
mov r8d, 0x80
cmp eax, 0x46
jne 0x140015149
lea rdx, [r14 + 6]
lea rcx, [rbx + 0x62da]
jmp 0x140015668
mov edi, 1
lea rcx, [rbx + 0x61da]
mov byte [rbx + 0x61d9], dil
mov rdx, r15
jmp 0x140015668
xor esi, esi
cmp word [r14 + 4], si
jne 0x14001517b
lea edi, [rsi + 1]
mov dword [rbx + 0x74f8], edi
jmp 0x14001636c
mov eax, 0x31
cmp word [r14 + 4], ax
jne 0x14001636c
lea ebp, [rax - 0x2f]
mov dword [rbx + 0x74f8], ebp
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x615c], dil
jmp 0x14001636c
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 0x14001636c
xor edx, edx
mov rcx, rbx
call fcn.140014180
jmp 0x14001636c
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016065
lea edi, [rsi + 1]
mov byte [rbx + 0x615f], dil
jmp 0x14001636c
sub ecx, 0x48
je 0x140015866
sub ecx, 1
je 0x140015627
mov ebp, 2
sub ecx, ebp
je 0x1400155f0
sub ecx, 1
je 0x1400155b8
cmp ecx, 1
jne 0x140016065
movzx ecx, word [r14 + 2]
call fcn.14004c68c
sub eax, 0x41
je 0x140015596
sub eax, ebp
je 0x140015406
sub eax, 1
je 0x14001535a
sub eax, 9
je 0x14001636c
sub eax, 6
je 0x140015290
cmp eax, 1
je 0x140015271
movzx eax, word [r14 + 2]
sub eax, 0x30
mov dword [rbx + 0x6140], eax
cmp eax, 5
jmp 0x140015285
lea rcx, [r14 + 4]
call fcn.14004c664
mov dword [rbx + 0x8510], eax
dec eax
cmp eax, 0x3f
jbe 0x14001636c
jmp 0x140016065
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.14004962c
lea rdi, [rsp + 0x60]
cmp word [rsp + 0x60], si
je 0x14001636c
lea r15, [rbx + 0xa848]
mov ebp, 0x800
mov edx, 0x3b
mov rcx, rdi
call fcn.14005b450
mov rbx, rax
test rax, rax
je 0x1400152e8
mov word [rax], si
cmp word [rdi], 0x2e
lea r14, [rdi + 2]
lea rdx, [0x140070ab0]
cmovne r14, rdi
mov rcx, r14
call fcn.14006026c
lea rcx, [rsp + 0x860]
test rax, rax
jne 0x140015324
mov r9, r14
lea r8, str.._ls
mov rdx, rbp
call fcn.140006268
jmp 0x14001532f
mov r8, rbp
mov rdx, r14
call fcn.14004962c
lea rdx, [rsp + 0x860]
mov rcx, r15
call fcn.14004968c
test rbx, rbx
je 0x14001636c
lea rdi, [rbx + 2]
cmp word [rdi], si
jne 0x1400152d0
jmp 0x14001636c
lea rcx, [r14 + 4]
call fcn.14004c664
xor esi, esi
movsxd rcx, eax
mov qword [rbx + 0x10], rcx
test eax, eax
jne 0x14001538b
movzx ecx, word [r14 + 4]
call fcn.14004c68c
mov edx, 0x10000
lea ecx, [rax - 0x41]
shl rdx, cl
mov qword [rbx + 0x10], rdx
jmp 0x1400153ca
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x14001538f
movzx ecx, word [r14 + rax*2 - 2]
call fcn.14004c68c
cmp eax, 0x47
je 0x1400153be
cmp eax, 0x4b
mov rax, qword [rbx + 0x10]
je 0x1400153b8
shl rax, 0x14
jmp 0x1400153c6
shl rax, 0xa
jmp 0x1400153c6
mov rax, qword [rbx + 0x10]
shl rax, 0x1e
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x10], 0x40000000
ja 0x1400153e4
mov rcx, rbx
call fcn.140013cb8
test al, al
jne 0x14001636c
mov ecx, 0xe42
call fcn.1400435c8
mov rcx, rax
mov rdx, r14
call fcn.140017da8
mov qword [rbx + 0x10], 0x400000
jmp 0x14001636c
add r14, 4
mov ecx, 0x2d
movzx eax, word [r14]
cmp ax, cx
jne 0x14001543a
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 0x140015429
jmp 0x14001636c
xor esi, esi
test ax, ax
je 0x14001636c
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.1400491e0
test al, al
je 0x140015488
mov rcx, r14
call fcn.14004c664
mov dword [rsp + 0x44], eax
jmp 0x14001547b
add r14, rbp
movzx ecx, word [r14]
call fcn.1400491e0
test al, al
jne 0x140015478
mov eax, 0x3a
cmp word [r14], ax
jne 0x1400154cb
lea rax, [r14 + 2]
movzx ecx, word [rax]
mov qword [rsp + 0x50], rax
call fcn.1400491e0
test al, al
je 0x1400154cb
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.14004c664
mov dword [rsp + 0x48], eax
jmp 0x1400154be
add r14, rbp
movzx ecx, word [r14]
call fcn.1400491e0
test al, al
jne 0x1400154bb
movzx ecx, word [r14]
add r14, rbp
call fcn.14004c68c
sub eax, 0x41
je 0x14001551d
sub eax, ebp
je 0x140015515
sub eax, edi
je 0x140015510
sub eax, edi
je 0x14001550b
sub eax, 4
je 0x140015503
sub eax, 9
je 0x1400154fe
cmp eax, ebp
jne 0x140015523
mov r13d, 7
jmp 0x140015523
mov r13, r15
jmp 0x140015523
mov r13d, 6
jmp 0x140015523
mov r13, rdi
jmp 0x140015523
mov r13, rsi
jmp 0x140015523
mov r13d, 5
jmp 0x140015523
mov r13d, 4
movzx ecx, word [r14]
mov edx, 0xfffd
movzx eax, cx
sub ax, r12w
test dx, ax
jne 0x14001554a
add r14, rbp
cmp cx, r12w
jne 0x140015545
mov eax, ebp
jmp 0x14001554c
mov eax, r15d
jmp 0x14001554c
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 0x140015453
jmp 0x14001636c
xor esi, esi
cmp word [r14 + 4], si
je 0x1400155a7
cmp word [r14 + 4], 0x35
jne 0x1400155ac
mov esi, 1
mov byte [rbx + 0x61c0], sil
jmp 0x14001636c
lea rcx, [r14 + 2]
mov r8, rbp
lea rdx, [0x140070a18]
call fcn.14004c6e0
test eax, eax
jne 0x14001636c
lea rdx, [r14 + 6]
lea rcx, [0x140098850]
call fcn.140027724
test al, al
jne 0x14001636c
jmp 0x140016065
movzx ecx, word [r14 + 2]
call fcn.14004c68c
test eax, eax
je 0x140015616
cmp eax, 0x42
jne 0x14001636c
lea edi, [rax - 0x41]
mov byte [rbx + 0x61bc], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x6430], dil
jmp 0x14001636c
lea rdi, [r14 + 2]
mov r15d, 3
mov r8d, r15d
lea rdx, [0x1400709c8]
mov rcx, rdi
call fcn.14004c6e0
xor esi, esi
test eax, eax
jne 0x140015672
lea rdx, [0x1400709d0]
lea rcx, [rbx + 0x5134]
lea rax, [r14 + 8]
cmp word [rax], si
cmovne rdx, rax
mov r8d, 0x800
call fcn.14004962c
jmp 0x14001636c
mov r8, r15
lea rdx, [0x1400709e0]
mov rcx, rdi
call fcn.14004c6e0
test eax, eax
jne 0x1400156a4
lea ecx, [rax + 0x2d]
cmp word [r14 + 8], cx
lea edi, [rax + 1]
sete sil
add esi, edi
mov dword [rbx + 0x6138], esi
jmp 0x14001636c
lea rdx, [0x1400709e8]
mov rcx, rdi
call fcn.14004c698
test eax, eax
jne 0x1400156cc
lea edi, [rax + 1]
mov dword [rbx + 0x6134], edi
mov ecx, edi
call fcn.1400176f4
jmp 0x14001636c
mov r8, r15
lea rdx, [0x1400709f0]
mov rcx, rdi
call fcn.14004c6e0
test eax, eax
jne 0x1400156f5
lea rdx, [0x14007097c]
lea rcx, [rbx + 0x64f4]
jmp 0x140015657
lea rdx, [0x1400709a4]
mov rcx, rdi
call fcn.14004c698
test eax, eax
jne 0x140015717
lea edi, [rax + 1]
mov byte [rbx + 0x61a5], dil
jmp 0x14001636c
lea rdx, [0x1400709f8]
mov rcx, rdi
call fcn.14004c698
test eax, eax
jne 0x140015736
mov dword [rbx + 0x6134], r15d
mov ecx, r15d
jmp 0x1400156c2
movzx ecx, word [rdi]
call fcn.14004c68c
cmp eax, 0x44
jne 0x1400157ac
lea ebp, [rax - 0x42]
lea rax, [r14 + 4]
mov r15d, ebp
cmp word [rax], si
je 0x14001636c
lea edi, [rbp - 1]
movzx ecx, word [rax]
call fcn.14004c68c
sub eax, 0x43
je 0x140015794
sub eax, edi
je 0x14001578b
sub eax, 0xc
je 0x140015782
cmp eax, edi
jne 0x14001579b
mov ecx, ebp
mov dword [rbx + 0x6134], ebp
call fcn.1400176f4
jmp 0x14001579b
mov byte [rbx + 0x6150], dil
jmp 0x14001579b
mov byte [rbx + 0x6152], dil
jmp 0x14001579b
mov byte [rbx + 0x6151], dil
add r15d, edi
lea rax, [r14 + r15*2]
cmp word [rax], si
jne 0x140015759
jmp 0x14001636c
mov r8, r15
lea rdx, [0x140070a00]
mov rcx, rdi
call fcn.14004c6e0
test eax, eax
jne 0x14001581e
movzx ecx, word [r14 + 8]
test ecx, ecx
je 0x14001580e
sub ecx, 0x31
je 0x14001580e
sub ecx, 1
je 0x1400157fe
sub ecx, 1
je 0x1400157f2
cmp ecx, 1
jne 0x14001636c
mov dword [rbx + 0x74fc], 4
jmp 0x14001636c
mov dword [rbx + 0x74fc], r15d
jmp 0x14001636c
mov ebp, 2
mov dword [rbx + 0x74fc], ebp
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x74fc], edi
jmp 0x14001636c
lea rdx, [0x140070a08]
mov rcx, rdi
call fcn.14004c698
test eax, eax
jne 0x140015840
lea edi, [rax + 1]
mov byte [rbx + 0x6153], dil
jmp 0x14001636c
lea rdx, [0x140070a10]
mov rcx, rdi
call fcn.14004c698
test eax, eax
jne 0x14001636c
lea edi, [rax + 1]
mov byte [rbx + 0x61d8], dil
jmp 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
cmp eax, 0x50
je 0x1400158b6
cmp eax, 0x54
jne 0x140016065
movzx ecx, word [r14 + 4]
call fcn.14004c68c
sub eax, 0x42
je 0x1400158a4
cmp eax, 1
jne 0x140016065
lea ebp, [rax + 1]
mov dword [rbx + 0x6144], ebp
jmp 0x14001636c
mov r15d, 3
mov dword [rbx + 0x6144], r15d
jmp 0x14001636c
mov edi, 1
lea rdx, [r14 + 4]
xor esi, esi
mov byte [rbx + 0x5132], dil
cmp word [rdx], si
je 0x1400158ec
lea rcx, [rbx + 0x5030]
call fcn.140046d00
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x1400158dd
jmp 0x140015e6a
cmp byte [rbx + 0x5130], sil
jne 0x14001636c
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004bef0
lea rcx, [0x140070964]
call fcn.140017bf0
jmp 0x14001636c
cmp ecx, 0x55
jg 0x140016044
je 0x14001602c
sub ecx, 0x4f
je 0x140015e7b
sub ecx, 1
je 0x140015e29
sub ecx, 1
je 0x140015dc7
sub ecx, 1
je 0x140015cb4
sub ecx, 1
je 0x140015a2a
cmp ecx, 1
jne 0x140016065
movzx ecx, word [r14 + 2]
call fcn.14004c68c
xor esi, esi
test eax, eax
je 0x140015a19
sub eax, 0x2d
je 0x140015a0d
sub eax, 0x14
je 0x140015a08
sub eax, 1
je 0x1400159ff
sub eax, 9
je 0x1400159ef
sub eax, 1
je 0x1400159df
sub eax, 2
je 0x1400159d4
sub eax, 1
je 0x1400159b8
mov rcx, rbx
cmp eax, 4
jne 0x140016068
lea rdx, [r14 + 4]
call fcn.140016700
jmp 0x14001636c
mov edi, 1
mov r9b, dil
mov r8b, dil
lea rdx, [r14 + 4]
mov rcx, rbx
call fcn.1400167e8
jmp 0x14001636c
mov r9d, 1
xor r8d, r8d
jmp 0x1400159c3
mov ebp, 2
mov dword [rbx + 0x61a8], ebp
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x61a8], edi
jmp 0x14001636c
xor r9d, r9d
lea r8d, [r9 + 1]
jmp 0x1400159c3
xor r9d, r9d
jmp 0x1400159da
mov byte [rbx + 0x6431], sil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x6431], dil
jmp 0x14001636c
mov r15d, 3
lea rdx, [0x140070ac8]
mov r8d, r15d
mov rcx, r14
call fcn.14004c6e0
xor esi, esi
lea edi, [r15 - 2]
mov ebp, 0x800
test eax, eax
jne 0x140015aaa
lea rax, [r14 + 6]
cmp word [rax], si
lea r12, [0x140070ad0]
cmovne r12, rax
mov rcx, r12
call fcn.140034470
cmp rax, r12
jne 0x140015a98
mov rcx, r12
call fcn.140022898
test al, al
jne 0x140015a98
lea rdx, [rbx + 0x1018]
mov byte [rsp + 0x20], sil
mov r9b, dil
mov r8d, ebp
mov rcx, r12
call fcn.1400337d8
jmp 0x140015aaa
lea rcx, [rbx + 0x1018]
mov r8, rbp
mov rdx, r12
call fcn.14004962c
lea r12, [r14 + 2]
movzx ecx, word [r12]
call fcn.1400491e0
test al, al
je 0x140015ada
mov ebp, 2
mov rcx, r12
or dword [rbx + 0x6154], ebp
call fcn.14004c664
mov dword [rbx + 0x6158], eax
jmp 0x14001636c
movzx ecx, word [r12]
call fcn.14004c68c
test eax, eax
je 0x140015ca9
mov ecx, 0x2d
sub eax, ecx
je 0x140015c9e
sub eax, 0x16
je 0x140015bc9
sub eax, edi
je 0x140015bbd
sub eax, edi
je 0x140015bb1
sub eax, 4
je 0x140015b90
sub eax, r15d
je 0x140015b69
sub eax, edi
je 0x140015b42
cmp eax, 9
jne 0x14001636c
cmp word [r14 + 4], cx
lea eax, [rcx - 0x1d]
lea edx, [rcx - 0x25]
cmove eax, edx
or dword [rbx + 0x6154], eax
jmp 0x14001636c
movzx ecx, word [r14 + 4]
call fcn.1400491e0
test al, al
je 0x14001636c
lea rcx, [r14 + 4]
call fcn.14004c610
mov qword [rbx + 0x6428], rax
jmp 0x14001636c
movzx ecx, word [r14 + 4]
call fcn.1400491e0
test al, al
je 0x14001636c
lea rcx, [r14 + 4]
call fcn.14004c610
mov qword [rbx + 0x6420], rax
jmp 0x14001636c
lea rax, [r14 + 4]
mov r8, rbp
cmp word [rax], si
lea rdx, [0x140070ae8]
lea rcx, [rbx + 0x750e]
cmovne rdx, rax
jmp 0x140015668
or dword [rbx + 0x6154], 4
jmp 0x14001636c
or dword [rbx + 0x6154], 8
jmp 0x14001636c
movzx ecx, word [r14 + 4]
mov r12b, sil
call fcn.14004c68c
cmp eax, 0x41
je 0x140015c0d
cmp eax, 0x46
je 0x140015c06
cmp eax, 0x4f
je 0x140015bff
cmp eax, 0x55
je 0x140015bfa
mov rdx, r14
mov rcx, rbx
call fcn.140013ae0
jmp 0x140015c8e
mov ebp, r15d
jmp 0x140015c0f
mov ebp, 2
jmp 0x140015c0f
mov ebp, 4
jmp 0x140015c0f
mov ebp, edi
cmp word [r14 + 6], si
jne 0x140015c30
mov dword [rbx + 0x402c], ebp
mov dword [rbx + 0x4028], ebp
mov dword [rbx + 0x4024], ebp
mov dword [rbx + 0x4020], ebp
jmp 0x140015c8e
test r12b, r12b
jne 0x140015c8e
mov eax, r15d
movzx ecx, word [r14 + rax*2]
call fcn.14004c68c
cmp eax, 0x43
je 0x140015c7e
cmp eax, 0x47
je 0x140015c76
cmp eax, 0x4c
je 0x140015c6e
cmp eax, 0x52
je 0x140015c66
mov rdx, r14
mov rcx, rbx
call fcn.140013ae0
mov r12b, dil
jmp 0x140015c84
mov dword [rbx + 0x402c], ebp
jmp 0x140015c84
mov dword [rbx + 0x4024], ebp
jmp 0x140015c84
mov dword [rbx + 0x4028], ebp
jmp 0x140015c84
mov dword [rbx + 0x4020], ebp
add r15d, edi
cmp word [r14 + r15*2], si
jne 0x140015c30
mov ecx, dword [rbx + 0x402c]
call fcn.1400176fc
jmp 0x14001636c
mov dword [rbx + 0x6154], esi
jmp 0x14001636c
or dword [rbx + 0x6154], edi
jmp 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
test eax, eax
je 0x140015db7
mov ecx, 0x2d
cmp eax, ecx
je 0x140015da7
cmp eax, 0x30
je 0x140015d95
cmp eax, 0x49
je 0x140015d27
cmp eax, 0x52
je 0x140015d0a
cmp eax, 0x56
jne 0x14001636c
lea r8d, [rcx - 0x37]
mov rcx, rbx
lea rdx, [r14 + 4]
call fcn.140013f2c
mov dword [rbx + 0x614c], eax
jmp 0x14001636c
lea rdx, [r14 + 4]
mov r8d, 0xfffffffd
mov rcx, rbx
call fcn.140013f2c
mov dword [rbx + 0x6148], eax
jmp 0x14001636c
lea rcx, [r14 + 4]
call fcn.14004c664
mov dword [rbx + 0x61b4], eax
cmp eax, 0xf
jbe 0x140015d46
mov rdx, r14
mov rcx, rbx
call fcn.140013ae0
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005b450
test rax, rax
je 0x140015d85
lea rcx, [rax + 2]
call fcn.14004c664
mov dword [rbx + 0x61b8], eax
cmp eax, 0x3e8
jle 0x140015d7a
mov rdx, r14
mov rcx, rbx
call fcn.140013ae0
mov ecx, dword [rbx + 0x61b8]
call fcn.140049f48
mov ecx, dword [rbx + 0x61b4]
call fcn.14004a0e4
jmp 0x14001636c
mov r15d, 3
mov dword [rbx + 0x6168], r15d
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x6168], edi
jmp 0x14001636c
mov ebp, 2
mov dword [rbx + 0x6168], ebp
jmp 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
cmp eax, 0x4f
jne 0x140016065
movzx ecx, word [r14 + 4]
call fcn.14004c68c
xor esi, esi
test eax, eax
je 0x140015e19
lea r12d, [rsi + 0x2b]
cmp eax, r12d
je 0x140015e09
lea ecx, [rsi + 0x2d]
cmp eax, ecx
jne 0x140016065
mov dword [rbx + 0x2018], esi
jmp 0x14001636c
mov ebp, 2
mov dword [rbx + 0x2018], ebp
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x2018], edi
jmp 0x14001636c
lea rdx, [r14 + 2]
xor esi, esi
cmp word [rdx], si
jne 0x140015e50
lea r8, [rbx + 0x5030]
xor edx, edx
xor ecx, ecx
call fcn.14004bef0
lea rcx, [0x1400709c4]
jmp 0x140015910
lea rcx, [rbx + 0x5030]
call fcn.140046d00
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140015e60
lea rdx, [rax + rax]
mov rcx, r14
call fcn.140046d58
jmp 0x14001636c
movzx ecx, word [r14 + 2]
call fcn.14004c68c
mov edx, eax
cmp eax, 0x49
jg 0x140015f90
cmp eax, 0x49
je 0x140015f0a
test eax, eax
je 0x140015efb
mov r12d, 0x2b
cmp eax, r12d
je 0x140015eeb
lea ecx, [r12 + 2]
cmp eax, ecx
je 0x140015edb
cmp eax, 0x43
je 0x140015eca
cmp eax, 0x48
jne 0x140016065
lea edi, [rax - 0x47]
mov byte [rbx + 0x61b2], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x63dd], dil
jmp 0x14001636c
mov ebp, 2
mov dword [rbx + 0x613c], ebp
jmp 0x14001636c
mov edi, 1
mov dword [rbx + 0x613c], edi
jmp 0x14001636c
mov dword [rbx + 0x613c], 4
jmp 0x14001636c
movzx edx, word [r14 + 4]
xor esi, esi
sub edx, 0x2d
je 0x140015f5e
lea r15d, [rsi + 3]
sub edx, r15d
je 0x140015f5e
lea ebp, [rsi + 2]
sub edx, ebp
je 0x140015f56
sub edx, 1
je 0x140015f4d
lea edi, [rsi + 1]
cmp edx, edi
je 0x140015f3a
mov dword [rbx + 0x61c8], edi
jmp 0x140015f64
mov dword [rbx + 0x61c8], 4
mov byte [rbx + 0x8520], dil
jmp 0x140015f64
mov dword [rbx + 0x61c8], r15d
jmp 0x140015f64
mov dword [rbx + 0x61c8], ebp
jmp 0x140015f64
mov dword [rbx + 0x61c8], esi
mov edx, 0x3a
lea rcx, [r14 + 4]
call fcn.14005b450
test rax, rax
je 0x14001636c
lea rcx, [rax + 2]
call fcn.14004c610
mov qword [rbx + 0x61d0], rax
jmp 0x14001636c
sub edx, 0x4c
je 0x140016001
sub edx, 2
je 0x140015fdf
sub edx, 4
je 0x140015fcd
sub edx, 1
je 0x140015fbc
cmp edx, 4
jne 0x140016065
lea edi, [rdx - 3]
mov byte [rbx + 0x61b0], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x63dc], dil
jmp 0x14001636c
mov r15d, 3
mov dword [rbx + 0x613c], r15d
jmp 0x14001636c
movzx ecx, word [r14 + 4]
call fcn.14004c68c
cmp eax, 0x49
jne 0x14001636c
lea edi, [rax - 0x48]
mov byte [rbx + 0x61bf], dil
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61b1], dil
movzx ecx, word [r14 + 4]
call fcn.14004c68c
cmp eax, 0x41
jne 0x14001636c
mov byte [rbx + 0x61b3], dil
jmp 0x14001636c
xor esi, esi
cmp word [r14 + 2], si
jne 0x140016065
lea edi, [rsi + 1]
mov byte [rbx + 0x6160], dil
jmp 0x14001636c
sub ecx, 0x56
je 0x140016155
sub ecx, 1
je 0x140016130
sub ecx, 1
je 0x1400160ae
sub ecx, 1
je 0x14001609d
cmp ecx, 1
je 0x140016075
mov rcx, rbx
mov rdx, r14
call fcn.140013ae0
jmp 0x14001636c
lea rdx, [r14 + 2]
xor esi, esi
lea rcx, [rbx + 0x301e]
mov r8d, 0x800
cmp word [rdx], si
jne 0x140015668
lea rdx, [0x140070af8]
jmp 0x140015668
mov edi, 1
mov byte [rbx + 0x61a4], dil
jmp 0x14001636c
lea rdi, [r14 + 2]
xor esi, esi
cmp word [rdi], si
je 0x14001636c
movzx ecx, word [r14]
call fcn.14004c68c
cmp eax, 0x4e
lea rcx, [rbx + 0xa6c8]
lea rbp, [rbx + 0xa608]
cmove rbp, rcx
cmp word [rdi], 0x40
jne 0x140016120
mov rcx, r14
call fcn.140033ed0
test al, al
jne 0x140016120
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.14002387c
jmp 0x14001636c
mov rdx, rdi
mov rcx, rbp
call fcn.14004968c
jmp 0x14001636c
mov ebp, 0x800
lea rdx, [r14 + 2]
mov r8d, ebp
lea rcx, [rbx + 0x18]
call fcn.14004962c
mov edx, ebp
lea rcx, [rbx + 0x18]
call fcn.140032b1c
jmp 0x14001636c
lea r13, [r14 + 2]
movzx ecx, word [r13]
call fcn.14004c68c
sub eax, 0x2d
je 0x140016363
sub eax, 0x17
je 0x140016355
sub eax, 1
je 0x140016333
mov edi, 1
sub eax, 9
je 0x14001632a
lea ebp, [rdi + 1]
cmp eax, ebp
je 0x140016321
xor esi, esi
cmp byte [rbx + 0x8521], sil
jne 0x1400161bc
lea rcx, [rbx + 0x6178]
mov qword [rbx + 0x6170], rsi
call fcn.140005b88
mov byte [rbx + 0x8521], dil
mov r15, rsi
mov r12, rsi
cmp word [r13], si
je 0x1400162f4
mov ebx, edi
movzx ecx, word [r13]
call fcn.1400491e0
test al, al
je 0x1400161f7
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 0x140016201
cmp word [r13], 0x2e
cmove r12, rdi
add ebx, edi
lea r13, [r14 + rbx*2]
cmp word [r13], si
jne 0x1400161cf
mov rbx, qword [rsp + 0x50]
test r15, r15
je 0x1400162f4
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], si
jne 0x140016220
movzx ecx, word [r14 + rax*2 - 2]
sub ecx, 0x42
je 0x1400162e2
sub ecx, 4
je 0x14001628f
sub ecx, edi
je 0x140016286
sub ecx, 6
je 0x14001627d
sub ecx, 0x15
je 0x1400162e2
sub ecx, 4
je 0x14001628f
sub ecx, edi
je 0x140016277
sub ecx, 4
je 0x140016271
cmp ecx, ebp
je 0x14001626b
imul r15, r15, 0x3e8
jmp 0x1400162e2
shl r15, 0x14
jmp 0x1400162e2
shl r15, 0xa
jmp 0x1400162e2
shl r15, 0x1e
jmp 0x1400162e2
imul r15, r15, 0xf4240
jmp 0x1400162e2
imul r15, r15, 0x3b9aca00
jmp 0x1400162e2
cmp r15, 0x168
je 0x1400162dc
cmp r15, 0x2d0
je 0x1400162d4
cmp r15, 0x4b0
je 0x1400162cc
cmp r15, 0x5a0
je 0x1400162c4
cmp r15, 0xb40
jne 0x1400162e2
mov r15d, 0x2c7c00
jmp 0x1400162e2
mov r15d, 0x163e00
jmp 0x1400162e2
mov r15d, 0x128600
jmp 0x1400162e2
mov r15d, 0xb2400
jmp 0x1400162e2
mov r15d, 0x58800
test r12, r12
je 0x1400162fe
mov rax, r15
cqo
idiv r12
mov r15, rax
jmp 0x1400162fe
movabs r15, 0x7fffffff7fffffff
cmp qword [rbx + 0x6170], rsi
jne 0x140016310
mov qword [rbx + 0x6170], r15
jmp 0x14001636c
lea rcx, [rbx + 0x6178]
mov rdx, r15
call fcn.140016400
jmp 0x14001636c
mov byte [rbx + 0x6432], dil
jmp 0x14001636c
mov byte [rbx + 0x61c5], dil
jmp 0x14001636c
movzx ecx, word [r14 + 4]
call fcn.14004c68c
cmp eax, 0x52
jne 0x14001636c
lea rcx, [r14 + 6]
call fcn.14004c664
inc eax
mov dword [rbx + 0x74f4], eax
jmp 0x14001636c
mov edi, 1
mov byte [rbx + 0x61c1], dil
jmp 0x14001636c
xor esi, esi
mov qword [rbx + 0x6170], rsi
mov rcx, qword [rsp + 0x1860]
xor rcx, rsp
call fcn.1400591e0
mov rbx, qword [rsp + 0x18c0]
add rsp, 0x1870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret