Function at 0x140097ac0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rax, qword [0x14019ac40]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x1a0]
test rax, rax
je 0x140097bca
mov ecx, dword [rsi + 8]
add ecx, 0xffffffff
mov dword [rax + 0x78], ecx
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov eax, dword [rax + rcx - 0x2c]
mov rcx, qword [rsi + 0x1a0]
mov dword [rcx + 0x74], eax
mov rdi, qword [rsi + 0x1a0]
movzx ecx, word [rdi + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 2
jne 0x140097b5e
mov rax, qword [rsi + 0x198]
mov rbp, qword [rax]
mov edx, dword [rbp + 0x10]
lea eax, [rdx - 0x62]
cmp ax, 0x35
ja 0x140097bd1
movzx eax, ax
movabs rcx, 0x20400000000001
bt rcx, rax
jae 0x140097bd1
movzx eax, word [rdi + 0x10]
cmp eax, 0x92
je 0x140097d22
cmp ax, 0x62
je 0x140097d22
cmp ax, 0x2f
jne 0x140097b9d
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140097d22
movzx ecx, word [rcx + 0x10]
cmp ecx, 0x8a
jne 0x140097d22
mov cl, byte [rdi + 0x44]
cmp cl, 0x2e
je 0x140097cae
cmp cl, 0x4e
jne 0x140097c32
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 0x28], 0
jmp 0x140097d35
xor edx, edx
jmp 0x140098c03
mov rax, qword [rsi + 0x190]
cmp byte [rax + 0x1a3], 4
jne 0x140098036
mov rax, qword [rsi + 0x1b0]
mov r8, qword [rax + 0xe0]
mov ebx, edx
mov rcx, rbp
cmp dx, 4
jne 0x140097f1d
mov rax, rbp
nop word cs:[rax + rax]
nop
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x140097f16
movzx ebx, word [rcx + 0x10]
mov rax, rcx
cmp bx, 4
je 0x140097c10
jmp 0x140097f1d
mov rcx, qword [rsi + 0x1b0]
mov rcx, qword [rcx + 0x108]
test rcx, rcx
je 0x140097c66
lea ebx, [rax - 7]
xor edx, edx
mov ebp, 0
cmp bx, 0xc
jb 0x140097c59
mov rbp, qword [rdi + 8]
cmp ax, 1
cmove rbp, rdx
cmp rbp, rcx
je 0x140097cae
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140097cd1
mov dl, byte [rcx + 0x44]
cmp dl, 0x1a
je 0x140097efe
cmp dl, 0xf
jne 0x140097cd1
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 0x28], 1
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 6], 1
jmp 0x140097d35
mov rax, qword [rsi + 0x190]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
cmp byte [rax + 0x1a3], 3
mov rax, qword [rsi]
sete byte [rax + rcx - 0x28]
jmp 0x140097d35
cmp ax, 0x3d
jle 0x140097cf8
cmp ax, 0x3e
je 0x140097d22
movzx edx, ax
cmp edx, 0x89
je 0x140097f76
cmp ax, 0x41
je 0x140097dc8
jmp 0x140097d0c
cmp ax, 0x16
je 0x140097dc8
cmp ax, 0x33
je 0x140097dc8
cmp ax, 0x28
jne 0x140097d35
test rcx, rcx
je 0x140097d35
movzx eax, word [rcx + 0x10]
cmp eax, 0x8a
je 0x140097d35
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 0x28], 1
mov r12, qword [rsi + 0x1a0]
cmp byte [r12 + 0x44], 0x5d
jne 0x140098bee
lea r15, [r12 + 0x44]
mov rax, qword [rsi + 0x190]
mov al, byte [rax + 0x1a3]
cmp al, 4
je 0x140097e00
cmp al, 2
jne 0x1400981fe
cmp word [r12 + 0x10], 0x3c
jne 0x1400981fe
cmp qword [r12 + 0x20], 2
jne 0x1400981fe
mov rax, qword [r12 + 0x18]
movzx ecx, word [rax]
cmp ecx, 0x3f3f
je 0x140097f64
movzx ecx, word [rax]
cmp ecx, 0x2e3f
je 0x140097f6d
movzx eax, word [rax]
cmp eax, 0x5b3f
jne 0x1400981fe
mov byte [r15], 0x59
jmp 0x140098bee
mov byte [rcx + 0x44], 0x40
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x140097ddd
movzx eax, word [rcx + 0x10]
cmp ax, 0x1b
je 0x140097dbd
cmp ax, 0x1e
je 0x140097dbd
mov rax, qword [rsi + 0x198]
cmp byte [rax + 0x39], 0
je 0x140097d35
mov rax, qword [rsi]
cmp byte [rax + 0x2a], 0
jne 0x140097d35
jmp 0x140097bb5
cmp word [r12 + 0x10], 0x28
jne 0x1400981fe
mov rdx, qword [r12 + 0xc8]
test rdx, rdx
je 0x1400981b5
mov rcx, qword [rsi + 0x1b0]
mov r8b, 1
call fcn.140097470
test al, al
jne 0x1400981c8
mov rcx, qword [r12 + 0xc8]
mov rdx, qword [rsi + 0x1b0]
mov rbp, qword [rdx + 0xa0]
mov rax, qword [rdx + 0xd8]
mov rbx, qword [rdx + 0xe0]
movzx edx, word [rcx + 0x10]
cmp rdx, 0x18
ja 0x140097e72
mov edi, 0x1500000
bt rdi, rdx
jb 0x1400981c8
movzx edi, dx
cmp edi, 0x88
je 0x1400981c8
test rbx, rbx
je 0x140097ea5
xor r8d, r8d
cmp dx, 1
je 0x140097e9c
lea edi, [rdx - 7]
cmp di, 0xc
jb 0x140097e9c
mov r8, qword [rcx + 8]
cmp r8, rbx
je 0x1400981c8
test rbp, rbp
je 0x140097ec8
xor ebx, ebx
cmp dx, 1
je 0x140097ebf
lea edi, [rdx - 7]
cmp di, 0xc
jb 0x140097ebf
mov rbx, qword [rcx + 8]
cmp rbx, rbp
je 0x1400981c8
lea ebp, [rdx - 7]
test rax, rax
je 0x1400981af
xor ebx, ebx
cmp dx, 1
je 0x140097ee6
cmp bp, 0xc
jb 0x140097ee6
mov rbx, qword [rcx + 8]
cmp rbx, rax
je 0x1400981c8
cmp bp, 0xc
jae 0x1400981b5
jmp 0x1400981c8
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 5], 1
jmp 0x140097d35
mov bx, 4
mov rcx, rax
test r8, r8
je 0x140097fb4
xor eax, eax
cmp bx, 1
je 0x140097f3b
add ebx, 0xfffffff9
cmp bx, 0xc
jb 0x140097f3b
mov rax, qword [rcx + 8]
cmp rax, r8
jne 0x140097fb4
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x140097fb4
movzx ecx, word [rax + 0x10]
cmp cx, 4
jne 0x140097f8e
mov rax, qword [rax + 0xd0]
test rax, rax
jne 0x140097f4c
jmp 0x140097fb4
mov byte [r15], 0x57
jmp 0x140098bee
mov byte [r15], 0x58
jmp 0x140098bee
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 8], 0
jmp 0x140097d35
cmp cx, 5
jne 0x140097fb4
jmp 0x140097b5e
mov rbp, qword [rbp + 0xd0]
test rbp, rbp
je 0x140098036
movzx edx, word [rbp + 0x10]
cmp dx, 4
je 0x140097fa0
movzx eax, dx
cmp eax, 0x84
jne 0x140098036
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x140098036
mov rcx, rax
movzx edx, word [rax + 0x10]
cmp dx, 4
jne 0x140097fe9
mov rax, qword [rcx + 0xd0]
test rax, rax
jne 0x140097fd0
test r8, r8
je 0x140098036
xor eax, eax
cmp dx, 1
je 0x140098003
add edx, 0xfffffff9
cmp dx, 0xc
jb 0x140098003
mov rax, qword [rcx + 8]
cmp rax, r8
jne 0x140098036
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x140098036
movzx ecx, word [rax + 0x10]
cmp cx, 4
jne 0x14009802c
mov rax, qword [rax + 0xd0]
test rax, rax
jne 0x140098014
jmp 0x140098036
cmp cx, 5
je 0x140097b5e
mov rax, qword [rdi + 0xc8]
test rax, rax
je 0x140098051
movzx eax, word [rax + 0x10]
cmp eax, 0x8a
je 0x140097b5e
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 0x28], 1
mov rax, qword [rsi + 0x198]
mov rax, qword [rax]
test rax, rax
je 0x1400980a0
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, rax
cmp word [rax + 0x10], 4
jne 0x140098096
mov rax, qword [rcx + 0xd0]
test rax, rax
jne 0x140098080
cmp byte [rcx + 0x44], 0x52
je 0x140097d35
mov rax, qword [rdi + 0xc8]
test rax, rax
je 0x140097d35
mov ecx, 0x58000000
mov edx, 0xa80000
jmp 0x1400980d5
cmp bl, 0x4a
je 0x140097d35
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x140097d35
mov rbp, qword [rax + 0xc8]
test rbp, rbp
je 0x140097d35
movzx ebp, word [rbp + 0x10]
cmp bp, 0x3e
je 0x140097d35
cmp bp, 0x41
je 0x140097d35
mov ebp, dword [rax + 0x10]
or ebp, 2
cmp bp, 0x16
jne 0x140098119
mov rax, qword [rax + 0xc0]
test rax, rax
je 0x140097d35
movzx ebx, byte [rax + 0x44]
cmp bl, 0x13
je 0x140098147
cmp bl, 0x4b
jne 0x140098152
mov rbp, qword [rax + 0x20]
cmp rbp, 2
jb 0x140098152
mov rdi, qword [rax + 0x18]
movzx ebp, word [rdi + rbp - 2]
cmp ebp, 0x7b24
jne 0x140098152
jmp 0x140097d35
cmp word [rax + 0x10], 0x2e
je 0x140097d35
movzx ebp, word [rax + 0x10]
cmp rbp, 0x17
ja 0x140098166
bt rdx, rbp
jb 0x140097d35
cmp bl, 6
je 0x140098174
cmp bl, 0x52
jne 0x1400980bc
cmp bp, 0x1e
ja 0x1400980c5
movzx ebp, bp
bt rcx, rbp
jae 0x1400980c5
mov rbp, qword [rax + 0xc8]
test rbp, rbp
je 0x1400980c5
cmp word [rbp + 0x10], 0x3f
je 0x1400980c5
mov byte [rax + 0x44], 0x40
jmp 0x1400980c5
cmp bp, 0xb
jbe 0x1400981c8
mov rax, qword [r12 + 0xd0]
test rax, rax
je 0x1400981fe
cmp byte [rax + 0x44], 6
jne 0x1400981d1
mov byte [r15], 0x24
jmp 0x140098bee
mov rcx, qword [rsi + 0x1b0]
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x1400981fe
mov ebp, dword [rax + 0x10]
xor edx, edx
cmp bp, 1
je 0x1400981f9
add ebp, 0xfffffff9
cmp bp, 0xc
jb 0x1400981f9
mov rdx, qword [rax + 8]
cmp rdx, rcx
je 0x1400981c8
mov rax, qword [rsi + 0x1b0]
mov rdx, qword [rax + 0x120]
movzx edi, word [r12 + 0x10]
test rdx, rdx
je 0x14009823d
lea ebx, [rdi - 7]
xor ecx, ecx
mov ebp, 0
cmp bx, 0xc
jb 0x14009822c
mov rbp, qword [r12 + 8]
cmp di, 1
cmove rbp, rcx
cmp rbp, rdx
je 0x140098bea
cmp di, 5
jne 0x1400982fc
mov rcx, qword [r12 + 0xc8]
test rcx, rcx
je 0x1400982f6
cmp byte [rcx + 0x44], 0x31
je 0x1400982f6
mov rbp, qword [rax + 0x68]
test rdx, rdx
je 0x140098288
mov edi, dword [rcx + 0x10]
xor ebx, ebx
cmp di, 1
je 0x140098283
add edi, 0xfffffff9
cmp di, 0xc
jb 0x140098283
mov rbx, qword [rcx + 8]
cmp rbx, rdx
je 0x1400982f6
test rbp, rbp
je 0x1400982aa
mov ebx, dword [rcx + 0x10]
xor edx, edx
cmp bx, 1
je 0x1400982a5
add ebx, 0xfffffff9
cmp bx, 0xc
jb 0x1400982a5
mov rdx, qword [rcx + 8]
cmp rdx, rbp
je 0x1400982f6
mov rdx, qword [rsi + 0x190]
cmp byte [rdx + 0x1a3], 4
jne 0x1400982e0
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400982e0
mov ebp, dword [rcx + 0x10]
xor edx, edx
cmp bp, 1
je 0x1400982db
add ebp, 0xfffffff9
cmp bp, 0xc
jb 0x1400982db
mov rdx, qword [rcx + 8]
cmp rdx, rax
je 0x1400982f6
movzx eax, word [rcx + 0x10]
cmp ax, 4
jne 0x140098346
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
jne 0x1400982e0
movzx edi, word [r12 + 0x10]
cmp di, 0x4b
jg 0x140098374
cmp di, 0x24
je 0x140098441
cmp di, 0x3e
jne 0x140098390
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov qword [rax + rcx - 0x10], 0
jmp 0x140098bee
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x1400982f6
movzx eax, word [rcx + 0x10]
cmp ax, 4
je 0x140098330
cmp ax, 0x50
je 0x140098330
cmp ax, 5
jne 0x140098ac5
mov rdx, qword [rcx + 0xc8]
test rdx, rdx
je 0x140098ac5
cmp word [rdx + 0x10], 0x42
sete bpl
jmp 0x140098ac7
cmp di, 0x4c
je 0x140098384
movzx eax, di
cmp eax, 0xc9
jne 0x140098390
mov byte [rsi + 0x1a8], 1
jmp 0x140098bee
lea r14, [r12 + 0xc8]
mov rbx, qword [r12 + 0xc8]
test rbx, rbx
je 0x1400984bb
movzx eax, word [rbx + 0x10]
cmp ax, 0x16
jne 0x1400984bd
mov ecx, edi
mov rax, r12
cmp cx, 4
jne 0x1400983dc
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x1400984bd
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x1400983c2
cmp cx, 0x24
jne 0x1400984bd
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x1400984bd
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x1400983e6
cmp cx, 5
jne 0x1400984bd
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x1400984bd
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x14009840a
cmp cx, 0x2e
jne 0x1400984bd
mov r9, qword [r12 + 0xd0]
xor r8d, r8d
mov rdx, r9
jmp 0x140098a4d
mov rax, qword [rsi + 0x190]
cmp byte [rax + 0x1a3], 3
jne 0x14009845a
mov byte [r15], 0x2e
jmp 0x140098bee
cmp byte [rsi + 0x1a8], 0
je 0x14009848b
mov rax, qword [rsi + 0x198]
cmp byte [rax + 0x39], 0
je 0x14009848b
cmp dword [r12 + 0x78], 0
jne 0x14009848b
mov rax, qword [r12 + 0xc8]
movzx eax, word [rax + 0x10]
cmp eax, 0x8a
jne 0x1400984b2
lea r14, [r12 + 0xc8]
mov rbx, qword [r12 + 0xc8]
test rbx, rbx
je case.0x14009861a.1
movzx eax, word [rbx + 0x10]
cmp ax, 0x18
jne 0x1400983ad
mov byte [r15], 0x4e
jmp 0x140098bee
xor ebx, ebx
cmp di, 0x37
ja 0x140098600
movzx eax, di
mov ecx, 0x58000000
bt rcx, rax
jb 0x140098535
movabs rcx, 0x80000900000000
bt rcx, rax
jae 0x140098600
nop dword [rax]
test rbx, rbx
je case.0x1400987cf.0
movzx ecx, word [rbx + 0x10]
cmp cx, 4
jne 0x14009879e
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
jne 0x1400984f5
mov byte [r15], 0x52
cmp di, 0x37
jne 0x140098bee
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov byte [rax + rcx - 4], 1
jmp 0x140098bee
mov rcx, qword [rsi]
mov eax, dword [rsi + 8]
lea rdx, [rax + rax*2]
shl rdx, 4
lea r11, [rcx + rdx]
cmp byte [rcx + rdx - 8], 0
je 0x140098559
cmp byte [r11 - 0x28], 0
setne r9b
jmp 0x14009855c
xor r9d, r9d
mov rax, qword [rsi + 0x190]
mov al, byte [rax + 0x1a3]
cmp al, 4
je 0x14009857c
mov r8b, byte [rcx + rdx - 7]
cmp al, 2
jne 0x140098586
cmp di, 0x1c
jne 0x140098586
mov dl, 6
mov byte [r15], dl
jmp 0x140098bee
mov dl, 0x52
test rbx, rbx
je case.0x14009908b.0
movzx ecx, word [rbx + 0x10]
cmp cx, 4
jne 0x1400985ac
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
jne 0x140098591
jmp case.0x14009908b.0
mov r12, qword [r12 + 0xd0]
test r12, r12
je 0x140098849
movzx ebp, word [r12 + 0x10]
cmp bp, 4
je 0x1400985ac
movsx eax, bp
cmp eax, 0xb6
jle 0x140098824
lea eax, [rbp - 0x146]
cmp ax, 5
ja 0x1400985ed
cmp ax, 2
jne 0x140098849
movzx eax, bp
cmp eax, 0xb7
je 0x140098849
jmp 0x140098b54
lea eax, [rdi - 0x21]
cmp ax, 0x1b
ja case.0x14009861a.1
movzx eax, ax
lea rcx, [0x1400997d8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, 0x52
test rbx, rbx
je 0x140098c35
movzx ecx, word [rbx + 0x10]
cmp cx, 4
jne 0x140098a98
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
jne 0x140098627
jmp 0x140098c35
mov ecx, edi
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 2
jl 0x14009868b
mov rax, qword [r14]
test rax, rax
je 0x140098666
cmp word [rax + 0x10], 0x13
je 0x14009868b
mov ax, 0x33
cmp word [r12 + 0x10], 0x33
je 0x1400988a5
mov rax, qword [rsi + 0x190]
cmp byte [rax + 0x1a3], 8
jne 0x140098bea
movzx eax, word [r12 + 0x10]
cmp ax, 0x18
jg 0x1400987d1
cmp ax, 4
je 0x140098853
cmp ax, 0x16
jne 0x1400988a5
mov rax, qword [rsi + 0x190]
mov bpl, byte [rax + 0x1a3]
cmp bpl, 5
ja case.0x140099202.1
movzx eax, bpl
mov ecx, 0x2e
bt ecx, eax
jae case.0x140099202.1
mov rbx, qword [r12 + 0xc0]
mov rdi, qword [r12 + 0xc8]
cmp rdi, rbx
je case.0x140099202.1
test rbx, rbx
je case.0x140099202.1
mov rdx, qword [r12 + 0xd0]
test rdx, rdx
je case.0x140099202.1
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
je 0x140098d8f
movzx eax, word [rbx + 0x10]
cmp ax, 4
je 0x14009870c
cmp ax, 0x16
jne 0x140098750
mov rax, qword [rbx + 0xc0]
test rax, rax
je case.0x140099202.1
mov rbx, qword [rax + 0xc8]
test rbx, rbx
je case.0x140099202.1
movzx eax, word [rbx + 0x10]
cmp ax, 1
je 0x140098785
lea ecx, [rax - 7]
cmp cx, 0xc
jb 0x140098785
mov r9, qword [rbx + 8]
test r9, r9
je 0x140098785
mov rcx, qword [rsi + 0x1b0]
mov r8, qword [rcx + 0x10]
test r8, r8
je 0x140098dae
cmp r9, r8
jne 0x140098dae
cmp ax, 0x14
je case.0x140099202.1
cmp ax, 0x48
je case.0x140099202.1
jmp 0x140098dd3
mov al, byte [rbx + 0x44]
cmp al, 9
je case.0x1400987cf.0
cmp al, 0x52
je case.0x1400987cf.0
lea edx, [rcx - 0x13]
cmp dx, 0x4f
ja case.default.0x1400987cf
movzx ecx, dx
lea rdx, [0x140099434]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp ax, 0x48
je 0x14009887b
cmp ax, 0x19
jne 0x1400988a5
mov r12, qword [r12 + 0xc8]
test r12, r12
je 0x140098b14
movzx eax, word [r12 + 0x10]
cmp ax, 4
je 0x1400987e5
cmp ax, 0x41
je 0x140098812
cmp ax, 0x17
jne 0x140098b14
mov byte [r15], 0x12
jmp 0x140098bee
mov byte [r15], 0x52
jmp 0x140098bee
lea eax, [rbp - 0x3f]
cmp ax, 0x2e
ja 0x140098b3c
movzx r10d, ax
movabs rax, 0x400400020001
bt rax, r10
jae 0x140098b3c
mov dl, 0x40
mov byte [r15], dl
jmp 0x140098bee
mov rax, qword [r12 + 0x20]
cmp rax, 2
jb 0x140098872
mov rcx, qword [r12 + 0x18]
movzx edx, word [rcx]
cmp edx, 0x2a2f
je 0x140098cc7
mov byte [r15], 0x32
jmp 0x140098bee
mov rcx, qword [r12 + 0xd0]
mov ax, 0x48
test rcx, rcx
je 0x1400988a5
mov rdx, qword [rsi + 0x190]
mov dl, byte [rdx + 0x1a3]
add dl, 0xfd
cmp dl, 2
jae 0x140098c9f
lea ebp, [rax - 7]
mov rdx, qword [r12 + 8]
mov rcx, qword [r12 + 0xc8]
test rcx, rcx
je 0x1400988f8
test rdx, rdx
je 0x1400988f8
cmp ax, 1
je 0x1400988f8
cmp bp, 0xc
jb 0x1400988f8
cmp byte [rcx + 0x44], 9
jne 0x1400988f8
mov rbx, qword [rcx + 0xc0]
test rbx, rbx
je 0x1400988f8
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
je 0x1400988f8
cmp byte [rbx + 0x44], 0x3b
jne 0x1400988f8
mov byte [r15], 0x44
jmp 0x140098bee
movsx ebx, ax
cmp ebx, 0x9f
jg 0x140098911
cmp ax, 5
je 0x140098924
cmp ax, 0x50
je 0x140098924
jmp 0x140098955
movzx ebx, ax
cmp ebx, 0xa5
je 0x140098924
cmp ebx, 0xa0
jne 0x140098955
test rcx, rcx
je 0x140098955
movzx ebx, word [rcx + 0x10]
cmp bx, 0x3f
je 0x140098955
cmp bx, 0x48
je 0x140098955
mov rbx, qword [rsi + 0x198]
cmp byte [rbx + 0x3a], 0
je 0x140098955
cmp dword [rsi + 8], 1
jne 0x140098955
mov byte [r15], 0x4d
jmp 0x140098bee
test rcx, rcx
je 0x140098bee
mov rbx, qword [rsi + 0x190]
mov bl, byte [rbx + 0x1a3]
add bl, 0xfd
cmp bl, 1
ja 0x140098bee
movzx ebx, word [rcx + 0x10]
cmp bx, 0x19
je 0x140098c2a
cmp bx, 0x48
jne 0x140098bee
mov rbx, qword [rsi + 0x1b0]
mov rbx, qword [rbx + 0x128]
test rbx, rbx
je 0x1400989bd
xor edi, edi
cmp bp, 0xc
cmovb rdx, rdi
cmp ax, 1
cmove rdx, rdi
cmp rdx, rbx
je 0x140098bee
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x1400989da
cmp word [rcx + 0x10], 4
je 0x1400989bd
cmp byte [rcx + 0x44], 0x31
jne 0x140098d93
mov byte [r15], 0x31
jmp 0x140098bee
mov rax, qword [rsi + 0x190]
cmp byte [rax + 0x1a3], 4
jne 0x140098a19
mov rax, qword [rsi + 0x198]
cmp byte [rax + 0x39], 0
je 0x140098a19
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
cmp byte [rax + rcx - 0x28], 0
je 0x140098ce4
mov byte [r15], 0xa
jmp 0x140098bee
movzx ebp, word [0x10]
xor edx, edx
xor eax, eax
cmp bp, 0x2e
sete al
add r8d, eax
xor eax, eax
cmp bp, 0x33
sete al
sub r8d, eax
test r8d, r8d
jle 0x140098ced
mov rdx, qword [rdx + 0xd0]
test rdx, rdx
je 0x1400984bd
movzx ebp, word [rdx + 0x10]
cmp bp, 0x15
jne 0x140098a2c
mov eax, 1
mov rdx, qword [rdx + 0xd0]
test rdx, rdx
je 0x140098a22
movzx ebp, word [rdx + 0x10]
xor ecx, ecx
cmp bp, 0x15
sete cl
add eax, ecx
xor ecx, ecx
cmp bp, 0x16
sete cl
sub eax, ecx
test eax, eax
jg 0x140098a6c
jmp 0x140098a2c
cmp byte [rbx + 0x44], 9
je 0x140098c35
cmp cx, 0x16
ja 0x140098c35
movzx ecx, cx
mov edx, 0x500020
bt rdx, rcx
jae 0x140098c35
mov al, 0x4f
jmp 0x140098c35
xor ebp, ebp
mov dl, byte [rcx + 0x44]
cmp dl, 0x49
jne 0x140098c3a
mov rax, qword [rcx + 0xc0]
test rax, rax
je 0x1400982f6
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x1400982f6
movzx eax, word [rax + 0x10]
cmp ax, 0x19
je 0x1400982f6
movzx eax, ax
cmp eax, 0x90
je 0x1400982f6
jmp 0x140098c68
mov rax, qword [rsi + 0x190]
cmp byte [rax + 0x1a3], 3
jne 0x140098bee
mov rax, qword [r14]
test rax, rax
je 0x140098bee
mov al, byte [rax + 0x44]
jmp 0x140098c2d
cmp bp, 0x24
je 0x140098849
movzx eax, bp
cmp eax, 0xa0
je 0x140098849
mov r10b, byte [r12 + 0x44]
cmp r10b, 3
je 0x140098849
cmp bp, 0x17
jne 0x140098b83
mov rax, r12
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x140098849
cmp word [rax + 0x10], 4
je 0x140098b6c
cmp cx, 0x47
je 0x140098849
cmp cx, 0x16
jne 0x140098f4e
mov bl, byte [rbx + 0x44]
cmp bl, 0x50
je 0x140098849
cmp bl, 0xa
ja 0x140098f9a
movzx r14d, bl
mov eax, 0x640
bt rax, r14
jb case.0x14009908b.0
jmp 0x140098f9a
add ecx, 0xffffff6e
cmp cx, 0x16
ja case.0x1400987cf.1
movzx ecx, cx
mov edx, 0x600001
bt rdx, rcx
jb case.0x1400987cf.0
cmp al, 6
je case.0x1400987cf.0
mov byte [r15], 6
mov rax, qword [rsi + 0x1a0]
mov rdx, qword [rax + 0xd0]
mov qword [rsi + 0x1a0], rdx
mov rcx, rsi
call fcn.1400978b0
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14016a260
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, byte [rcx + 0x44]
cmp al, 0x31
je 0x140098c35
cmp al, 0x1f
jne 0x140098bee
mov byte [r15], al
jmp 0x140098bee
cmp ax, 0x16
jne 0x140098c45
cmp dl, 0x50
je 0x140098c68
test bpl, bpl
jne 0x140098c56
cmp ax, 5
je 0x140098c68
cmp ax, 0x4c
je 0x140098c68
cmp dl, 0x40
je 0x140098c68
call fcn.1400c23f0
test al, al
je 0x1400982f6
mov rax, qword [rsi + 0x198]
cmp byte [rax + 0x3a], 0
je 0x140098c81
cmp dword [r12 + 0x78], 0
je 0x1400982f6
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov qword [rax + rcx - 0x10], r12
mov byte [r12 + 0x44], 0x45
jmp 0x140098bee
call fcn.1400d1420
lea ecx, [rax - 6]
cmp ecx, 2
jb 0x140098cbe
cmp eax, 0x13
je 0x140098da5
cmp eax, 0xa
jne 0x140098bee
mov byte [r15], 0x38
jmp 0x140098bee
movzx eax, word [rcx + rax - 2]
cmp eax, 0x2f2a
je 0x140098d9c
mov word [r12 + 0x10], 0
jmp 0x140098bee
mov byte [r15], 0x2a
jmp 0x140098bee
mov rax, qword [rdx + 0xd0]
test rax, rax
je 0x1400984bd
cmp word [rax + 0x10], 0x3e
jne 0x1400984bd
mov rax, qword [rbx + 0xc0]
test rax, rax
je 0x1400984bd
mov rcx, qword [rax + 0xc8]
test rcx, rcx
je 0x1400984bd
mov rax, qword [rcx + 0xc8]
test rax, rax
je 0x1400984bd
movzx edx, word [rax + 0x10]
cmp edx, 0x83
jne 0x140098d54
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x1400984bd
cmp byte [rax + 0x44], 0x49
jne 0x1400984bd
mov r8, qword [r9 + 0x20]
cmp qword [rcx + 0x20], r8
jne 0x1400984bd
test r8, r8
je 0x1400984b2
mov rdx, qword [r9 + 0x18]
mov rcx, qword [rcx + 0x18]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400984bd
jmp 0x1400984b2
xor ebx, ebx
jmp 0x140098df0
mov byte [r15], 0x1f
jmp 0x140098bee
mov byte [r15], 8
jmp 0x140098bee
mov byte [r15], 0x3c
jmp 0x140098bee
lea ecx, [rax - 0x4e]
cmp cx, 0x33
ja case.0x140099202.1
movzx r8d, cx
movabs rcx, 0x8000000100001
bt rcx, r8
jae case.0x140099202.1
cmp ax, 0x1a
je case.0x140099202.1
mov al, byte [rbx + 0x44]
cmp al, 0x3e
je case.0x140099202.1
cmp al, 0x49
je case.0x140099202.1
movzx r13d, word [rdx + 0x10]
cmp r13w, 0x3c
je case.0x140099202.1
mov rcx, qword [rsi + 0x1b0]
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x140098e37
xor r8d, r8d
cmp r13w, 1
je 0x140098e28
lea eax, [r13 - 7]
cmp ax, 0xc
jb 0x140098e28
mov r8, qword [rdx + 8]
cmp bpl, 2
jne 0x140098e37
cmp r8, r9
je case.0x140099202.1
mov r9, qword [rcx]
mov r10, qword [rcx + 8]
lea eax, [r13 - 0x6d]
cmp ax, 0x38
ja 0x140098e5f
movzx eax, ax
movabs rcx, 0x108002000000001
bt rcx, rax
jb case.0x140099202.1
cmp r13w, 0x24
je case.0x140099202.1
cmp r13w, 0x50
je case.0x140099202.1
test r10, r10
je 0x140098e9b
xor r8d, r8d
cmp r13w, 1
je 0x140098e92
lea eax, [r13 - 7]
cmp ax, 0xc
jb 0x140098e92
mov r8, qword [rdx + 8]
cmp r8, r10
je case.0x140099202.1
test r9, r9
je 0x140098ec0
xor ecx, ecx
cmp r13w, 1
je 0x140098eb7
lea eax, [r13 - 7]
cmp ax, 0xc
jb 0x140098eb7
mov rcx, qword [rdx + 8]
cmp rcx, r9
je case.0x140099202.1
mov rcx, rsi
call fcn.14009bd80
test al, al
jne case.0x140099202.1
cmp bpl, 3
jne 0x140098ee1
cmp r13w, 0x15
je 0x140099239
cmp r13w, 0xd
jne 0x140099018
test rdi, rdi
je 0x140098f10
mov cl, byte [rdi + 0x44]
xor eax, eax
cmp cl, 0x49
je 0x140098f12
cmp cl, 0x50
je 0x140098f12
mov rcx, rdi
call fcn.1400c23f0
test al, al
je 0x14009908d
xor eax, eax
mov rdx, qword [r12 + 0xd0]
movzx ecx, word [rdx + 0x10]
test al, al
jne 0x140099148
mov eax, ecx
and eax, 0xfffffffe
cmp ax, 0x3e
je 0x140099148
cmp cx, 0x33
je 0x140099148
cmp cx, 0x17
je 0x140099148
jmp 0x140099239
lea eax, [rcx - 0x13]
cmp ax, 0x52
ja case.default.0x140098f68
movzx eax, ax
lea r14, [0x140099574]
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
lea eax, [rcx - 0x81]
cmp ax, 0x27
ja case.0x140098f68.1
movzx r14d, ax
movabs rax, 0xe000020001
bt rax, r14
jb case.0x14009908b.0
mov bl, byte [rbx + 0x44]
cmp bl, 0xa
jbe 0x140098bac
cmp bl, 0x52
je case.0x14009908b.0
cmp bp, 0x13
jne 0x140098fb5
cmp r10b, 0x30
jne 0x140098849
jmp 0x140098fe1
movzx eax, bp
cmp eax, 0x8a
sete al
mov edx, r9d
not dl
test dl, al
jne 0x140098849
cmp bp, 0x3e
je 0x140098849
cmp bp, 0x41
je 0x140098849
cmp cx, 0x16
je 0x14009857c
lea eax, [rcx - 7]
cmp ax, 0xc
jb 0x14009857c
movsx eax, cx
cmp eax, 0x84
jg 0x140099045
cmp cx, 0x14
je 0x14009857c
cmp cx, 0x18
je 0x14009857c
jmp 0x14009905e
lea eax, [r13 - 7]
cmp ax, 0xc
jb 0x140099239
cmp r13w, 0x65
je 0x140099239
movzx eax, r13w
cmp eax, 0x9b
je 0x140099239
jmp 0x140098eec
movzx eax, cx
cmp eax, 0x85
je 0x14009857c
cmp eax, 0x93
je 0x14009857c
lea eax, [rbp - 7]
cmp ax, 0xc
jb 0x14009857c
lea eax, [rbp - 0x20]
cmp ax, 0x45
ja case.default.0x14009908b
movzx eax, ax
lea rcx, [0x1400996c0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov dl, 6
jmp rax
mov rcx, qword [r14]
test rcx, rcx
je 0x14009913c
mov eax, 0x20020001
jmp 0x1400990c1
mov ebp, dword [rcx + 0x10]
lea edi, [rbp - 0x146]
cmp di, 5
ja 0x14009910f
cmp di, 2
je 0x14009910f
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x14009913c
movzx edx, byte [rcx + 0x44]
cmp dl, 5
je 0x1400990f5
cmp dl, 4
jne 0x1400990a0
mov rcx, qword [rcx + 0xc0]
test rcx, rcx
je 0x140099131
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
je 0x140099131
movzx ebp, word [rcx + 0x10]
cmp ebp, 0xb7
je 0x1400990b5
jmp 0x140099131
mov rcx, qword [rcx + 0xc0]
test rcx, rcx
je 0x140099131
mov rcx, qword [rcx + 0xc8]
test rcx, rcx
jne 0x1400990bc
jmp 0x140099131
lea edi, [rbp - 0x50]
cmp di, 0x1d
ja 0x140099121
movzx edi, di
bt rax, rdi
jb 0x1400990b5
movzx ebp, bp
cmp ebp, 0xb7
je 0x1400990b5
cmp dl, 3
je 0x1400990b5
cmp dl, 0x40
setne al
jmp 0x140098f12
mov rdx, qword [r12 + 0xd0]
movzx ecx, word [rdx + 0x10]
test rbx, rbx
je case.0x140099202.1
mov rbx, qword [r12 + 0xc0]
mov rax, rbx
mov rax, qword [rax + 0xd0]
cmp rax, r12
je 0x140099173
cmp byte [rax + 0x44], 6
jne 0x14009915c
jmp case.0x140099202.1
cmp cx, 5
je 0x140099239
movzx ebp, cx
cmp ebp, 0x91
je 0x140099239
cmp cx, 0x15
jne 0x1400991d8
mov rax, qword [r14]
test rax, rax
je 0x140099239
cmp word [rax + 0x10], 5
jne 0x140099239
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x140099239
mov eax, dword [rax + 0x10]
add eax, 0xffffffe2
cmp ax, 0x28
ja 0x140099239
movzx eax, ax
movabs rdi, 0x10000000041
bt rdi, rax
jae 0x140099239
mov rdx, qword [rdx + 0xd0]
test rdx, rdx
je case.0x140099202.1
add ecx, 0xffffffe5
cmp cx, 0x4a
ja case.default.0x140099202
movzx eax, cx
lea rcx, [0x140099848]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [rdx + 0x10]
or eax, 2
cmp ax, 7
jne case.0x140099202.1
mov rcx, qword [r14]
jmp 0x14009921c
mov rcx, qword [rcx + 0xc8]
cmp rcx, rbx
je 0x140099239
movzx eax, word [rcx + 0x10]
cmp ax, 5
je 0x140099215
cmp ax, 0x50
je 0x140099215
cmp ax, 0x47
je 0x140099215
jmp case.0x140099202.1
mov byte [r15], 9
cmp qword [r12 + 0xc0], 0
je 0x140098bee
mov rax, qword [r12 + 0xd0]
test rax, rax
je 0x140098bee
movzx ecx, word [rax + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 1
jg 0x140098bee
mov rax, qword [r12 + 0xd0]
mov eax, dword [rax + 0x10]
add eax, 0xffffffe9
cmp ax, 0x30
ja 0x14009929f
movzx eax, ax
movabs rcx, 0x104c000002005
bt rcx, rax
jb 0x140098bee
mov rax, qword [r12 + 0xc0]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x140098bee
cmp word [rcx + 0x10], 0x37
je 0x140098bee
mov rbp, qword [rax + 0xc8]
test rbp, rbp
je 0x140098bee
cmp word [rbp + 0x10], 5
jne 0x140098bee
cmp byte [rbp + 0x44], 0x51
je 0x140098bee
lea rcx, [rbp + 0x18]
lea rdi, [rsp + 0x20]
mov rdx, rdi
call fcn.140023d50
mov rbx, qword [rsp + 0x38]
cmp rbx, 0xf
mov r14, qword [rsp + 0x20]
cmova rdi, r14
mov r8, qword [rsp + 0x30]
cmp qword [rbp + 0x20], r8
jne 0x14009932a
test r8, r8
je 0x14009932e
mov rcx, qword [rbp + 0x18]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14009932e
xor edi, edi
jmp 0x14009934b
mov rax, qword [rbp + 0xc8]
test rax, rax
je 0x140099348
mov dil, byte [rax + 0x40]
and dil, 0x40
shr dil, 6
jmp 0x14009934b
mov dil, 1
cmp rbx, 0x10
jb 0x140099385
lea rdx, [rbx + 1]
cmp rdx, 0x1000
jb 0x14009937d
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x14009942c
add rbx, 0x28
mov rdx, rbx
mov r14, rax
mov rcx, r14
call fcn.14016a23c
test dil, dil
je 0x140098bee
mov byte [r15], 0x15
jmp 0x140098bee
lea eax, [rbp - 0x85]
cmp ax, 0x16
ja case.0x14009908b.2
movzx eax, ax
mov ecx, 0x404001
bt rcx, rax
jb 0x14009857c
lea ecx, [rbp - 5]
test r8b, r8b
je 0x1400993c7
cmp cx, 2
jb 0x14009857c
cmp di, 0x1c
jne 0x1400993d7
cmp bp, 0x15
je 0x14009857c
cmp cx, 1
ja 0x140099400
mov r12, qword [r12 + 0xd0]
test r12, r12
je 0x140099400
movzx eax, word [r12 + 0x10]
cmp ax, 4
je 0x1400993dd
cmp ax, 0x24
je 0x14009857c
test r9b, r9b
je 0x140098849
cmp byte [r11 - 4], 0
mov dl, 6
jne 0x140098849
jmp case.0x14009908b.0
cmp ebp, 0x9b
je case.0x140099202.0
jmp case.0x140099202.1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3