Function at 0x7ff60521ba30
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rax, qword [r8]
mov rbx, rcx
mov rcx, qword [rcx + 0x140]
mov r14, r8
mov r12, rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x20], rcx
mov rdi, rcx
lea r15, [rbx + 0xca0]
mov r13, rcx
mov rsi, rax
mov rbp, rax
mov r8, rax
mov edx, 0xa
call sub.VCRUNTIME140.dll_memchr
mov rcx, rax
mov rdx, r13
test rax, rax
je 0x7ff60521c8e7
lea r8, [rcx + 1]
sub rdi, rax
lea rax, [rsi - 1]
mov rcx, r15
add rax, rdi
xor ebp, ebp
mov qword [r14], rax
mov qword [rbx + 0x140], r8
sub r8, r13
call fcn.7ff605201090
test eax, eax
jne 0x7ff60521c70a
cmp dword [rbx + 0x13c], eax
jne 0x7ff60521bb41
mov rcx, r15
call fcn.7ff6051c8c00
mov rcx, r15
mov rsi, rax
call fcn.7ff6051c8c10
mov rcx, qword [r12 + 0x2e8]
mov rdx, rax
test dword [rcx + 0x84], 0x40000
je 0x7ff60521bb2b
cmp rsi, 5
mov ecx, 5
mov edi, ebp
cmova rsi, rcx
setae dil
mov r8, rsi
lea rcx, [0x7ff605439c40]
call fcn.7ff605212e00
test eax, eax
mov ecx, 2
cmovne ecx, edi
jmp 0x7ff60521bb38
mov r8, rsi
mov rcx, rbx
call fcn.7ff60521cbb0
mov ecx, eax
cmp ecx, 2
je 0x7ff60521c6d7
mov rcx, r15
call fcn.7ff6051c8c10
mov r14, rax
movzx ecx, byte [rax]
cmp cl, 0xa
je 0x7ff60521c03e
cmp cl, 0xd
je 0x7ff60521c03e
mov edx, dword [rbx + 0x13c]
mov esi, 2
lea ecx, [rdx + 1]
mov dword [rbx + 0x13c], ecx
test edx, edx
jne 0x7ff60521bf4b
mov rax, qword [r12 + 0x2e8]
mov ecx, dword [rax + 0x84]
test cl, 3
je 0x7ff60521bd84
movzx eax, byte [r14]
mov rdi, r14
test al, al
je 0x7ff60521bbb3
nop
cmp al, 0x20
je 0x7ff60521bba8
cmp al, 9
jne 0x7ff60521bbb3
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x7ff60521bba0
mov r8d, 5
lea rdx, [0x7ff605439c38]
mov rcx, rdi
call qword [sym.imp.ucrtbase.dll_strncmp]
test eax, eax
jne 0x7ff60521bc56
movsx edx, byte [rdi + 5]
mov ecx, edx
sub ecx, 0x31
je 0x7ff60521bc9a
sub ecx, 1
je 0x7ff60521bbee
cmp ecx, 1
jne 0x7ff60521c73e
movzx eax, byte [rdi + 6]
cmp al, 0x20
je 0x7ff60521bbfa
cmp al, 9
jne 0x7ff60521bc56
movsx ecx, byte [rdi + 7]
lea eax, [rdx - 0x30]
lea r9d, [rax + rax*4]
add r9d, r9d
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x7ff60521bc56
movsx edx, byte [rdi + 8]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x7ff60521bc56
movsx r8d, byte [rdi + 9]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x7ff60521bc56
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rbx + 0x150], ecx
movzx eax, byte [rdi + 0xa]
cmp al, 0x20
je 0x7ff60521bd25
sub al, 9
cmp al, 4
jbe 0x7ff60521bd25
mov rcx, r15
call fcn.7ff6051c8c00
mov rcx, r15
mov rdi, rax
call fcn.7ff6051c8c10
mov rdx, rax
mov r8, rdi
mov rcx, rbx
call fcn.7ff60521cbb0
cmp eax, 1
jne 0x7ff60521c7c3
lea rdi, [r12 + 0x70d]
mov dword [rbx + 0x150], 0xc8
mov byte [rdi], 0xa
jmp 0x7ff60521be70
cmp byte [rdi + 6], 0x2e
jne 0x7ff60521c7a0
movsx ecx, byte [rdi + 7]
lea eax, [rcx - 0x30]
cmp al, 1
ja 0x7ff60521c7a0
movzx eax, byte [rdi + 8]
cmp al, 0x20
je 0x7ff60521bcc3
cmp al, 9
jne 0x7ff60521c7a0
lea r9d, [rcx - 0x26]
movsx ecx, byte [rdi + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x7ff60521c7a0
movsx edx, byte [rdi + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x7ff60521c7a0
movsx r8d, byte [rdi + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x7ff60521c7a0
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rbx + 0x150], ecx
movzx eax, byte [rdi + 0xc]
cmp al, 0x20
je 0x7ff60521bd25
cmp al, 9
je 0x7ff60521bd25
sub al, 0xa
cmp al, 3
ja 0x7ff60521c7a0
cmp ecx, 0x64
jl 0x7ff60521c787
mov ecx, r9d
sub ecx, 0xa
je 0x7ff60521bd3f
cmp ecx, 1
jne 0x7ff60521c754
lea rdi, [r12 + 0x70d]
mov byte [rdi], r9b
cmp dword [rbx + 0x16c], 3
jne 0x7ff60521bd68
cmp r9b, 0x14
je 0x7ff60521bd68
lea rdx, [0x7ff60543a0d0]
mov rcx, rbx
call fcn.7ff60520d320
cmp byte [rdi], 0x14
jae 0x7ff60521be70
mov rax, qword [r12 + 0x6d0]
mov dword [rax], 0xffffffff
jmp 0x7ff60521be70
bt ecx, 0x12
jae 0x7ff60521c7c3
movzx eax, byte [r14]
mov rdi, r14
test al, al
je 0x7ff60521bdb3
nop dword [rax]
cmp al, 0x20
je 0x7ff60521bda8
cmp al, 9
jne 0x7ff60521bdb3
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x7ff60521bda0
mov r8d, 5
lea rdx, [0x7ff605439c40]
mov rcx, rdi
call qword [sym.imp.ucrtbase.dll_strncmp]
test eax, eax
jne 0x7ff60521c7c3
movzx eax, byte [rdi + 5]
sub al, 0x30
cmp al, 9
ja 0x7ff60521c7b9
cmp byte [rdi + 6], 0x2e
jne 0x7ff60521c7b9
movzx eax, byte [rdi + 7]
sub al, 0x30
cmp al, 9
ja 0x7ff60521c7b9
movzx eax, byte [rdi + 8]
cmp al, 0x20
je 0x7ff60521be07
cmp al, 9
jne 0x7ff60521c7b9
movsx ecx, byte [rdi + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x7ff60521c7b9
movsx edx, byte [rdi + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x7ff60521c7b9
movsx r8d, byte [rdi + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x7ff60521c7b9
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rbx + 0x150], ecx
movzx eax, byte [rdi + 0xc]
cmp al, 0x20
je 0x7ff60521be65
cmp al, 9
je 0x7ff60521be65
sub al, 0xa
cmp al, 3
ja 0x7ff60521c7b9
lea rdi, [r12 + 0x70d]
mov byte [rdi], 0xb
mov edx, dword [rbx + 0x150]
movzx ecx, byte [rbx + 0x1359]
mov dword [rbx + 0x1380], edx
movzx eax, byte [rdi]
mov dword [rbx + 0x1388], eax
movzx eax, byte [rdi]
test cl, cl
je 0x7ff60521be97
cmp cl, al
jbe 0x7ff60521be9d
mov byte [rbx + 0x1359], al
cmp qword [rbx + 0x1180], 0
je 0x7ff60521bebf
cmp byte [rbx + 0x135a], 0
jne 0x7ff60521bebf
cmp edx, 0x1a0
jne 0x7ff60521bebf
mov byte [rbx + 0x1cd], 1
movzx eax, byte [rdi]
cmp al, 0xa
jne 0x7ff60521bee4
lea rdx, [0x7ff605439e58]
mov rcx, rbx
call fcn.7ff60520d320
mov edx, 1
mov rcx, r12
call fcn.7ff60520e2f0
jmp 0x7ff60521beff
cmp al, 0x14
je 0x7ff60521bef5
cmp dword [rbx + 0x16c], esi
jne 0x7ff60521beff
cmp edx, 0x65
jne 0x7ff60521beff
mov rax, qword [r12 + 0x6d0]
mov dword [rax], esi
mov ecx, dword [rbx + 0x150]
lea eax, [rcx - 0x64]
cmp eax, 0x63
setbe al
mov byte [rbx + 0x1ce], al
sub ecx, 0xcc
je 0x7ff60521bf31
cmp ecx, 0x64
jne 0x7ff60521bf46
cmp byte [rbx + 0x530], 0
je 0x7ff60521bf31
mov byte [rbx + 0x1464], 1
mov qword [rbx + 0xf0], rbp
mov qword [rbx + 0xf8], rbp
mov byte [rbx + 0x1ce], 1
mov esi, 6
mov rcx, r15
call fcn.7ff6051c8c10
mov rcx, r15
mov rdi, rax
call fcn.7ff6051c8c00
mov r8, rax
xor edx, edx
mov rcx, rdi
mov rbp, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x7ff60521c7ea
mov edx, dword [rbx + 0x13c]
cmp edx, 2
jl 0x7ff60521bfad
movzx ecx, byte [rdi]
cmp cl, 0x20
je 0x7ff60521bf8f
cmp cl, 9
jne 0x7ff60521bf94
cmp edx, 2
jg 0x7ff60521bfad
mov r8, rbp
mov edx, 0x3a
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x7ff60521c7cf
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.7ff60521aa10
test eax, eax
jne 0x7ff60521c70a
cmp byte [rbx + 0xab3], al
je 0x7ff60521bfce
or esi, 1
mov edi, dword [rbx + 0x150]
mov rcx, r15
call fcn.7ff6051c8c00
mov r9, rax
mov r8, r14
mov edx, 1
mov rcx, rbx
call fcn.7ff60520d150
mov rcx, r15
call fcn.7ff6051c8c00
mov edx, esi
mov r9, rax
or edx, 0x10
lea eax, [rdi - 0x64]
cmp eax, 0x64
mov r8, r14
mov rcx, rbx
cmovae edx, esi
call fcn.7ff60520d3c0
test eax, eax
jne 0x7ff60521c70a
mov rcx, r15
call fcn.7ff6051c8c00
add qword [rbx + 0x1398], rax
mov rcx, r15
call fcn.7ff6051c8c00
add qword [rbx + 0x110], rax
jmp 0x7ff60521c6a7
mov ecx, dword [rbx + 0x150]
lea eax, [rcx - 0x64]
cmp eax, 0x63
ja 0x7ff60521c0d5
sub ecx, 0x64
je 0x7ff60521c09b
cmp ecx, 1
je 0x7ff60521c077
lea r15, [rbx + 0x1ca]
mov dword [rbx + 0x13c], ebp
mov byte [r15], 1
lea rsi, [rbx + 0xf0]
jmp 0x7ff60521c147
cmp dword [rbx + 0x16c], 2
je 0x7ff60521c805
lea r15, [rbx + 0x1ca]
mov byte [r15], 0
lea rsi, [rbx + 0xf0]
jmp 0x7ff60521c147
cmp dword [rbx + 0x168], 0
lea r15, [rbx + 0x1ca]
mov byte [r15], 1
mov dword [rbx + 0x13c], ebp
jle 0x7ff60521c0cc
or dword [rbx + 0x154], 2
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x168], ebp
call fcn.7ff6051fa810
lea rsi, [rbx + 0xf0]
jmp 0x7ff60521c147
lea rdi, [rbx + 0x1ca]
lea rsi, [rbx + 0xf0]
mov byte [rdi], 0
cmp qword [rsi], 0xffffffffffffffff
mov r15, rdi
jne 0x7ff60521c147
cmp byte [rbx + 0x1cf], 0
jne 0x7ff60521c147
cmp byte [r12 + 0x2ce], 0
jne 0x7ff60521c147
cmp byte [r12 + 0x70d], 0xb
jne 0x7ff60521c147
mov rax, qword [r12 + 0x2e8]
test dword [rax + 0x84], 0x40000
jne 0x7ff60521c147
cmp byte [rbx + 0x135a], 5
je 0x7ff60521c147
lea rdx, [0x7ff605439f00]
mov rcx, rbx
call fcn.7ff60520d320
mov edx, 2
mov rcx, r12
call fcn.7ff60520e2f0
cmp byte [r15], 0
jne 0x7ff60521c19d
cmp byte [rbx + 0x1d0], 0
jne 0x7ff60521c18e
cmp byte [rsi + 0xdf], 0
jne 0x7ff60521c18e
mov rdx, qword [rsi]
cmp rdx, 0xffffffffffffffff
je 0x7ff60521c19d
mov rax, qword [rbx + 0x6f0]
test rax, rax
je 0x7ff60521c17d
cmp rdx, rax
jg 0x7ff60521c835
mov rcx, rbx
call fcn.7ff60521e750
mov rax, qword [rsi]
mov qword [rsi + 8], rax
jmp 0x7ff60521c19d
mov qword [rsi + 8], 0xffffffffffffffff
mov qword [rsi], 0xffffffffffffffff
cmp byte [r12 + 0x2ce], 0
je 0x7ff60521c23b
mov eax, dword [rbx + 0x150]
cmp eax, 0x191
jne 0x7ff60521c1c6
cmp dword [r12 + 0x3b0], 2
je 0x7ff60521c1d8
jmp 0x7ff60521c1ee
cmp eax, 0x197
jne 0x7ff60521c1ee
cmp dword [r12 + 0x3b4], 2
jne 0x7ff60521c1ee
lea rdx, [0x7ff605439f38]
mov rcx, rbx
call fcn.7ff60520d320
mov byte [rbx + 0x1361], 1
cmp byte [r12 + 0x2ce], 0
je 0x7ff60521c23b
mov eax, dword [rbx + 0x150]
cmp eax, 0x191
jne 0x7ff60521c213
cmp dword [r12 + 0x4a8], 1
je 0x7ff60521c225
jmp 0x7ff60521c23b
cmp eax, 0x197
jne 0x7ff60521c23b
cmp dword [r12 + 0x4ac], 1
jne 0x7ff60521c23b
lea rdx, [0x7ff605439f38]
mov rcx, rbx
call fcn.7ff60520d320
mov byte [rbx + 0x1361], 1
cmp dword [r12 + 0x4a8], 3
jne 0x7ff60521c25e
cmp dword [rbx + 0x150], 0x191
je 0x7ff60521c25e
mov dword [r12 + 0x4a8], 4
cmp dword [r12 + 0x4ac], 3
jne 0x7ff60521c281
cmp dword [rbx + 0x150], 0x197
je 0x7ff60521c281
mov dword [r12 + 0x4ac], 4
mov eax, dword [rbx + 0x150]
lea rcx, [rbx + 0xca0]
sub eax, 0x64
cmp eax, 0x64
mov eax, ebp
sbb edi, edi
and edi, 0x10
cmp byte [rbx + 0xab3], 0
setne al
add eax, 2
or edi, eax
call fcn.7ff6051c8c00
lea rcx, [rbx + 0xca0]
mov r12, rax
call fcn.7ff6051c8c10
mov r8, rax
mov r9, r12
mov edx, edi
mov rcx, rbx
call fcn.7ff60520d3c0
test eax, eax
jne 0x7ff60521c70a
mov rdx, qword [rbx + 0x110]
movsxd rcx, r12d
add qword [rbx + 0x1398], rcx
add rdx, rcx
mov qword [rbx + 0x110], rdx
mov rcx, rbx
mov r8d, dword [rbx + 0x150]
call fcn.7ff60521cfd0
test al, al
jne 0x7ff60521c8d1
mov rsi, qword [rbx + 0x20]
lea eax, [r8 - 0x64]
cmp eax, 0x63
mov eax, 0xffffffff
cmova rdx, rbp
xor bpl, bpl
mov qword [rbx + 0x118], rdx
xor r14b, r14b
mov rcx, qword [rbx + 0x920]
xor edi, edi
test rcx, rcx
mov edx, 0xffffffbf
cmovne edx, eax
lea eax, [r8 - 0x64]
cmp eax, 0x63
jbe 0x7ff60521c523
cmp byte [rbx + 0x1361], dil
je 0x7ff60521c366
movzx eax, byte [rbx + 0xaae]
neg al
sbb edi, edi
and edi, 0x16
jmp 0x7ff60521c51b
cmp qword [rbx + 0x1338], rdi
jne 0x7ff60521c374
test rcx, rcx
je 0x7ff60521c3de
cmp r8d, 0x191
je 0x7ff60521c38f
cmp byte [rsi + 0x2d8], dil
je 0x7ff60521c3de
cmp r8d, 0x12c
jge 0x7ff60521c3de
lea rcx, [rbx + 0xde8]
call fcn.7ff60521d390
movzx ebp, al
test al, al
jne 0x7ff60521c3a9
mov byte [rbx + 0x1361], 1
cmp dword [rbx + 0xdec], 8
jne 0x7ff60521c3de
cmp byte [rsi + 0x70d], 0xb
jbe 0x7ff60521c3de
lea rdx, [0x7ff605439468]
mov rcx, rbx
call fcn.7ff60520d320
mov edx, 1
mov rcx, rsi
call fcn.7ff60520e2f0
mov byte [rbx + 0x1358], 2
cmp byte [rsi + 0x2ca], dil
je 0x7ff60521c424
mov eax, dword [rbx + 0x150]
cmp eax, 0x197
je 0x7ff60521c404
cmp byte [rsi + 0x2d8], dil
je 0x7ff60521c424
cmp eax, 0x12c
jge 0x7ff60521c424
lea rcx, [rbx + 0xdf8]
mov edx, 0xffffffbf
call fcn.7ff60521d390
movzx r14d, al
test al, al
jne 0x7ff60521c424
mov byte [rbx + 0x1361], 1
test bpl, bpl
jne 0x7ff60521c495
test r14b, r14b
jne 0x7ff60521c495
cmp dword [rbx + 0x150], 0x12c
jge 0x7ff60521c4f7
cmp byte [rbx + 0xdf4], dil
jne 0x7ff60521c4f7
cmp byte [rsi + 0x2d8], dil
je 0x7ff60521c4f7
movzx eax, byte [rbx + 0x135a]
test al, al
je 0x7ff60521c4f7
cmp al, 5
je 0x7ff60521c4f7
mov rcx, qword [rbx + 0x1218]
call qword [case.0x7ff605208b20.1]
mov qword [rbx + 0x190], rax
test rax, rax
je 0x7ff60521c84e
mov byte [rbx + 0xdf4], 1
jmp 0x7ff60521c4f7
movzx eax, byte [rbx + 0x135a]
test al, al
je 0x7ff60521c4c2
cmp al, 5
je 0x7ff60521c4c2
cmp byte [rbx + 0x136f], dil
jne 0x7ff60521c4c2
mov rdx, rsi
mov rcx, rbx
call fcn.7ff60521cdf0
mov edi, eax
test eax, eax
jne 0x7ff60521c853
mov rcx, qword [rbx + 0x190]
call qword [fcn.7ff60542bed4]
mov rcx, qword [rbx + 0x1218]
mov qword [rbx + 0x190], 0
call qword [case.0x7ff605208b20.1]
mov qword [rbx + 0x190], rax
test rax, rax
je 0x7ff60521c84e
mov rcx, rbx
call fcn.7ff60521cfd0
test al, al
je 0x7ff60521c51b
mov r8d, dword [rbx + 0x150]
lea rdx, [0x7ff605439488]
call fcn.7ff60520d240
mov edi, 0x16
test edi, edi
jne 0x7ff60521c853
cmp dword [rbx + 0x150], 0x12c
mov rdi, qword [rsp + 0x88]
jl 0x7ff60521c68e
cmp byte [rdi + 0x2d8], 0
jne 0x7ff60521c665
cmp byte [rdi + 0x2ce], 0
jne 0x7ff60521c665
cmp byte [rbx + 0x136f], 0
jne 0x7ff60521c66e
movzx ecx, byte [rbx + 0x135a]
sub ecx, 1
je 0x7ff60521c581
sub ecx, 1
je 0x7ff60521c581
sub ecx, 1
je 0x7ff60521c581
cmp ecx, 1
jne 0x7ff60521c665
xor edx, edx
mov rcx, rbx
call fcn.7ff6051fa810
cmp byte [rbx + 0x1cc], 0
jne 0x7ff60521c665
cmp dword [rbx + 0x150], 0x1a1
jne 0x7ff60521c5e8
cmp byte [rbx + 0x1363], 0
je 0x7ff60521c5e8
lea rdx, [0x7ff605439f70]
mov rcx, rbx
call fcn.7ff60520d320
mov rcx, qword [rbx + 0x1218]
mov byte [rbx + 0x1364], 1
call qword [case.0x7ff605208b20.1]
lea rdx, [rbx + 0xf0]
mov rcx, rbx
mov qword [rbx + 0x190], rax
call fcn.7ff605214010
jmp 0x7ff60521c665
cmp byte [rbx + 0xaaf], 0
mov rcx, rbx
je 0x7ff60521c61c
lea rdx, [0x7ff605439f90]
call fcn.7ff60520d320
cmp dword [rbx + 0x168], 0
jle 0x7ff60521c665
or dword [rbx + 0x154], 2
mov dword [rbx + 0x168], 0
jmp 0x7ff60521c665
lea rdx, [0x7ff605439fc0]
call fcn.7ff60520d320
mov edx, 2
mov rcx, rdi
call fcn.7ff60520e2f0
lea rdx, [rbx + 0xf0]
mov rcx, rbx
call fcn.7ff605214010
test eax, eax
jne 0x7ff60521c70a
mov byte [rbx + 0x1cc], 1
cmp byte [rbx + 0x1363], al
je 0x7ff60521c665
mov dword [rbx + 0x168], 3
cmp byte [rbx + 0x136f], 0
je 0x7ff60521c68e
cmp qword [rdi + 0x310], 0xffffffffffffffff
je 0x7ff60521c68e
lea rdx, [0x7ff605439ff0]
mov rcx, rbx
call fcn.7ff60520d320
or dword [rbx + 0x154], 2
cmp byte [r15], 0
je 0x7ff60521c85a
mov r12, qword [rsp + 0x88]
lea r15, [rbx + 0xca0]
mov rcx, r15
call fcn.7ff6052010f0
mov rdi, qword [rbx + 0x140]
cmp byte [rdi], 0
je 0x7ff60521c708
mov r14, qword [rsp + 0x90]
mov r13, rdi
mov rcx, rdi
mov rsi, qword [r14]
mov rbp, rsi
mov r8, rsi
jmp 0x7ff60521ba85
mov edx, 2
mov rcx, r12
call fcn.7ff60520e2f0
cmp byte [rbx + 0xad1], 0
je 0x7ff60521c957
mov byte [rbx + 0x1ca], 0
cmp qword [r14], 0
je 0x7ff60521c71b
mov dword [rbx + 0x138], 1
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [rsp + 0x80]
mov dword [rbx + 0x138], 2
mov qword [r14], rax
mov rax, qword [rsp + 0x20]
mov qword [rbx + 0x140], rax
jmp 0x7ff60521c708
lea rdx, [0x7ff60543a048]
mov rcx, rbx
call fcn.7ff60520d240
mov eax, 1
jmp 0x7ff60521c70a
mov eax, 0x66666667
mov rcx, rbx
imul r9d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r8d, edx
lea eax, [rdx + rdx*4]
add eax, eax
lea rdx, [0x7ff60543a0a0]
sub r9d, eax
call fcn.7ff60520d240
mov eax, 1
jmp 0x7ff60521c70a
lea rdx, [0x7ff60543a070]
mov rcx, rbx
call fcn.7ff60520d240
mov eax, 1
jmp 0x7ff60521c70a
lea rdx, [0x7ff60543a018]
mov rcx, rbx
call fcn.7ff60520d240
mov eax, 1
jmp 0x7ff60521c70a
mov eax, 8
jmp 0x7ff60521c70a
mov byte [rbx + 0x1ca], 0
jmp 0x7ff60521c708
lea rdx, [0x7ff605439e98]
mov rcx, rbx
mov edi, 8
call fcn.7ff60520d240
mov eax, edi
jmp 0x7ff60521c70a
lea rdx, [0x7ff605439e80]
mov rcx, rbx
mov edi, 8
call fcn.7ff60520d240
mov eax, edi
jmp 0x7ff60521c70a
lea rdx, [0x7ff605439ed8]
mov rcx, rbx
call fcn.7ff60520d320
mov eax, 1
mov dword [rbx + 0x16c], 3
mov byte [rbx + 0x1ca], 1
mov dword [rbx + 0x13c], ebp
jmp 0x7ff60521c70a
lea rdx, [0x7ff605434fa8]
mov rcx, rbx
call fcn.7ff60520d240
mov eax, 0x3f
jmp 0x7ff60521c70a
mov edi, 0x1b
mov eax, edi
jmp 0x7ff60521c70a
cmp byte [rbx + 0x1d4], 0
jne 0x7ff60521c889
mov rax, qword [rdi + 0x2e8]
test dword [rax + 0x84], 0x40000
je 0x7ff60521c896
cmp dword [rbx + 0x9f8], 2
jne 0x7ff60521c896
cmp qword [rbx + 0xf0], 0xffffffffffffffff
jg 0x7ff60521c896
mov rax, qword [rsp + 0x98]
mov byte [rax], 1
jmp 0x7ff60521c89e
mov rax, qword [rsp + 0x98]
cmp qword [rbx + 0xf8], 0
jne 0x7ff60521c8ad
mov byte [rax], 1
jmp 0x7ff60521c8b2
cmp byte [rax], 0
je 0x7ff60521c8b9
and dword [rbx + 0x154], 0xfffffffe
mov r9, r12
mov r8, r13
mov edx, 1
mov rcx, rbx
call fcn.7ff60520d150
jmp 0x7ff60521c708
lea rdx, [0x7ff605439488]
call fcn.7ff60520d240
mov eax, 0x16
jmp 0x7ff60521c70a
mov r8, rbp
mov rcx, r15
call fcn.7ff605201090
test eax, eax
jne 0x7ff60521c70a
cmp dword [rbx + 0x13c], eax
jne 0x7ff60521c708
mov rcx, r15
call fcn.7ff6051c8c00
mov rcx, r15
mov rdi, rax
call fcn.7ff6051c8c10
mov r8, rax
mov r9, rdi
mov rdx, r12
mov rcx, rbx
call fcn.7ff60521cc80
cmp eax, 2
jne 0x7ff60521c708
mov edx, eax
mov byte [rbx + 0x1ca], 0
mov rcx, r12
mov dword [rbx + 0x138], eax
call fcn.7ff60520e2f0
cmp byte [rbx + 0xad1], 0
jne 0x7ff60521c708
lea rdx, [0x7ff605439eb0]
mov rcx, rbx
call fcn.7ff60520d240
mov eax, 1
jmp 0x7ff60521c70a