Function at 0x1400a5340
Capabilities:
Encode data using xor
Validate payment card number using luhn algorithm

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r11, r8
mov rdi, rdx
nop word cs:[rax + rax]
mov eax, dword [0x1415b5c50]
add eax, dword [0x1415b5c54]
mov edx, eax
xor edx, 0x13008008
xor eax, 0x44411c33
and eax, 0x64535eb7
and edx, 0x9baca148
sub edx, eax
cmp edx, 0x9f671553
jb 0x1400a5360
nop
mov eax, dword [0x1415b5c58]
or eax, dword [0x1415b5c5c]
add eax, 0xf47e92e9
mov edx, eax
or edx, 0x40920068
not eax
and eax, 0xa7208003
and edx, 0x5896627c
or edx, eax
xor edx, 0xcc5e2c0d
cmp edx, 0xfc33ed24
ja 0x1400a5390
mov qword [rsp + 8], rcx
cmp r11, 8
mov qword [rsp], rdi
mov qword [rsp + 0x10], r11
jb 0x1400a5536
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs rcx, 0x4646464646464646
movabs rbx, 0x24da8c5b6b865ee9
movabs r8, 0xf424000000064
movabs r15, 0x271000000001
movabs r12, 0xff000000ff
xor r13d, r13d
xor esi, esi
nop dword [rax]
mov rbp, qword [rdi]
mov r14, rbp
and r14, rcx
lea r9, [rax + rbp]
or rbp, rcx
add rbp, r14
or rbp, r9
mov r14, rbp
xor r14, rdx
not r14
or rbp, rdx
test rbp, r14
jne 0x1400a5557
mov r14d, esi
not r14d
and r14d, 0x5f5e100
mov r10, rsi
and r10, 0xfffffffffa0a1eff
imul r10, r14
mov r14d, esi
and r14d, 0x5f5e100
or rsi, 0x5f5e100
imul rsi, r14
mov rbp, rsi
add rbp, r10
mov r10, r9
and r10, 0xfffffffffffffff5
mov esi, r9d
not esi
and esi, 0xa
imul rsi, r10
mov r14d, r9d
and r14d, 0xa
mov r10, r9
or r10, 0xa
imul r10, r14
shr r9, 8
add r10, rbx
add r10, rsi
add r10, r9
sub r10, rbx
mov rsi, r10
xor rsi, r12
not rsi
mov r9, r10
or r9, r12
and r9, rsi
imul r9, r8
shr r10, 0x10
test r13b, r13b
jne 0x1400a54e0
and r10, r12
mov rsi, r10
not rsi
and rsi, r15
mov r14, r15
not r14
and r14, r10
imul r14, rsi
mov rsi, r10
and rsi, r15
or r10, r15
imul r10, rsi
add r10, r14
mov rsi, r10
and rsi, r9
xor r10, r9
lea rsi, [r10 + rsi*2]
shr rsi, 0x20
add rsi, rbp
add r11, 0xfffffffffffffff8
add rdi, 8
cmp r11, 7
ja 0x1400a5430
jmp 0x1400a5538
xor esi, esi
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400a5540
test r11, r11
mov r13, qword [rsp + 0x10]
mov r10, qword [rsp]
jne 0x1400a5560
jmp 0x1400a5904
mov r13, qword [rsp + 0x10]
mov r10, qword [rsp]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400a5570
jmp 0x1400a55fc
dec r11
inc rdi
mov ecx, esi
not ecx
and ecx, 0xa
mov rdx, rsi
and rdx, 0xfffffffffffffff5
imul rdx, rcx
mov ecx, esi
and ecx, 0xa
or rsi, 0xa
imul rsi, rcx
add rsi, rdx
movzx r9d, al
nop dword [rax]
mov eax, dword [0x1415b5c68]
xor edx, edx
div dword [0x1415b5c6c]
imul eax, eax, 0x3a1a54bd
mov ecx, eax
xor ecx, 0x56a0a200
xor eax, 0x2a02000
and eax, 0x2aa624b8
add eax, eax
sub ecx, eax
add ecx, 0xaaa624b8
cmp ecx, 0xdc96cb37
jb 0x1400a55b0
mov eax, esi
and eax, r9d
or rsi, r9
add rsi, rax
test r11, r11
je 0x1400a58f6
mov eax, dword [0x1415b5c60]
or eax, dword [0x1415b5c64]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7b1be14f
and ecx, 0x4e41eb0
imul ecx, edx
mov edx, eax
and edx, 0x4e41eb0
or eax, 0x4e41eb0
imul eax, edx
add eax, ecx
or eax, 0x8bade6fc
xor eax, 0x12e35d8e
cmp eax, 0xc3dc2a59
jb 0x1400a55fc
movzx r9d, byte [rdi]
lea eax, [r9 - 0x30]
cmp al, 9
jbe 0x1400a5580
mov rax, r13
not rax
and rax, r11
mov r10, r11
not r10
and r10, r13
sub r10, rax
lea rcx, [r11 - 1]
nop dword [rax]
mov eax, dword [0x1415b5c70]
xor edx, edx
div dword [0x1415b5c74]
mov edx, eax
xor edx, 0xfa483934
and eax, 0x5b7c6cb
add eax, eax
sub eax, edx
add eax, 0xe2b71d8b
xor eax, 0x9df78cd1
cmp eax, 0xbdaf1226
ja 0x1400a5670
cmp r9b, 0x2e
jne 0x1400a5964
mov qword [rsp + 0x18], r10
inc rdi
nop word cs:[rax + rax]
mov eax, dword [0x1415b5c88]
imul eax, dword [0x1415b5c8c]
lea edx, [rax + 0x78a27023]
not edx
or edx, 0xd95cc513
add eax, edx
add eax, 0x57172e0d
cmp eax, 0xc39a5fd
jb 0x1400a56c0
cmp rcx, 8
jb 0x1400a5971
movabs r14, 0xcfcfcfcfcfcfcfd0
movabs rax, 0xcf66901b2c770108
movabs rdx, 0x89681f464d785d2f
movabs rbp, 0x4646464646464646
movabs r12, 0x271000000001
movabs r13, 0xff000000ff
add rbp, rdx
mov r10, rax
add r14, rax
mov r15, rcx
nop dword [rax + rax]
mov eax, dword [0x1415b5c90]
mov edx, dword [0x1415b5c94]
not eax
not edx
and edx, eax
not edx
imul eax, edx, 0x338f63de
xor eax, 0xf3e97cd1
imul rax, rax, 0x43a0f2b1
shr rax, 0x3e
cmp eax, 0xbf2a75e9
ja 0x1400a5740
mov rbx, qword [rdi]
lea rax, [rbx + rbp]
movabs rdx, 0x89681f464d785d2f
sub rax, rdx
add rbx, r14
sub rbx, r10
or rax, rbx
movabs rdx, 0x8080808080808080
test rax, rdx
jne 0x1400a59bc
mov eax, dword [str.U:p0_1]
xor edx, edx
div dword [0x1415b5cbc]
mov eax, dword [0x1415b5cc0]
imul eax, dword [0x1415b5cc4]
and eax, 0x65629ec6
imul eax, eax, 0x4b15b9f8
cmp eax, 0x9c01752f
jb 0x1400a57af
mov rax, rsi
and rax, 0xfffffffffa0a1eff
mov edx, esi
not edx
and edx, 0x5f5e100
imul rdx, rax
mov eax, esi
and eax, 0x5f5e100
or rsi, 0x5f5e100
imul rsi, rax
add rsi, rdx
mov rax, rbx
and rax, 0xfffffffffffffff5
mov edx, ebx
not edx
and edx, 0xa
imul rdx, rax
mov eax, ebx
and eax, 0xa
mov r8, rbx
or r8, 0xa
imul r8, rax
add r8, rdx
shr rbx, 8
add rbx, r8
mov rdx, rbx
not rdx
mov rax, r13
not rax
or rax, rdx
not rax
movabs rdx, 0xf424000000064
imul rax, rdx
shr rbx, 0x10
mov rdx, rbx
not rdx
or rdx, r13
add rdx, rbx
inc rdx
mov r8, r12
not r8
mov r9, rdx
and r9, r8
or r8, rdx
not r8
imul r8, r9
mov r9, rdx
and r9, r12
or rdx, r12
imul rdx, r9
add rdx, r8
mov r8, rdx
and r8, rax
or rdx, rax
add rdx, r8
shr rdx, 0x20
mov eax, esi
and eax, edx
or rsi, rdx
add rsi, rax
add r15, 0xfffffffffffffff8
add rdi, 8
nop word cs:[rax + rax]
mov eax, dword [0x1415b5cc8]
mov edx, dword [0x1415b5ccc]
mov r8d, eax
xor r8d, edx
not r8d
or eax, edx
and eax, r8d
imul eax, eax, 0x66f37b26
shr eax, 3
imul rax, rax, 0x22868015
shr rax, 0x3a
add eax, 0x839f508d
cmp eax, 0xb49d0946
ja 0x1400a58b0
cmp r15, 7
ja 0x1400a5740
jmp 0x1400a5974
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400a5900
xor r11d, r11d
nop word [rax + rax]
mov eax, dword [0x1415b5c80]
mov ecx, dword [0x1415b5c84]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x8f66ce74
add ecx, eax
and eax, 0x7099318b
sub ecx, eax
and ecx, 0xc2c06ee6
imul eax, ecx, 0x70031cd8
cmp eax, 0xe202fc9e
ja 0x1400a5910
mov rcx, r13
xor ebx, ebx
xor edi, edi
xor r14d, r14d
cmp rcx, 0x14
jge 0x1400a5f00
xor r8d, r8d
jmp 0x1400a6510
xor r14d, r14d
mov r15, r11
xor ecx, ecx
jmp 0x1400a5ad5
mov r15, rcx
mov r13, qword [rsp + 0x10]
nop dword [rax]
mov eax, dword [0x1415b5c9c]
mov edx, eax
xor edx, edx
not edx
and edx, dword [0x1415b5c98]
xor edx, eax
imul rax, rdx, 0x1a0f1923
shr rax, 0x3b
and eax, 0xfffffffe
cmp eax, 0x5a7ee7b9
je 0x1400a5980
test r15, r15
mov r10, qword [rsp + 0x18]
je 0x1400a5ac9
mov r14, rdi
jmp 0x1400a59c9
mov r14, rdi
mov r13, qword [rsp + 0x10]
mov r10, qword [rsp + 0x18]
lea rdi, [r14 + r15]
nop dword [rax]
mov eax, dword [0x1415b5ca0]
sub eax, dword [0x1415b5ca4]
and eax, 0x80c14241
mov edx, eax
xor edx, 0x833d9a03
or eax, 0xc04040
and eax, edx
cmp eax, 0x543becf8
ja 0x1400a59d0
jmp 0x1400a5ab6
dec r15
inc r14
mov rdx, rsi
and rdx, 0xfffffffffffffff5
mov r8d, esi
not r8d
and r8d, 0xa
imul r8, rdx
mov edx, esi
and edx, 0xa
or rsi, 0xa
imul rsi, rdx
mov rdx, rsi
add rdx, r8
movzx esi, al
add rsi, rdx
mov eax, dword [0x1415b5ca8]
xor edx, edx
div dword [0x1415b5cac]
nop word cs:[rax + rax]
mov eax, dword [0x1415b5cb0]
xor edx, edx
div dword [0x1415b5cb4]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x525d084c
and edx, 0xada2f7b3
imul edx, r8d
mov r8d, eax
and r8d, 0xada2f7b3
or eax, 0xada2f7b3
imul eax, r8d
add eax, edx
mov edx, eax
not edx
or edx, 0xa2ca7b47
add eax, edx
inc eax
mov edx, eax
and edx, 0x6da787bf
add edx, edx
sub eax, edx
add eax, 0x6da787bf
cmp eax, 0x14a95eac
jb 0x1400a5a50
test r15, r15
je 0x1400a5ac9
movzx eax, byte [r14]
add al, 0xd0
cmp al, 9
jbe 0x1400a5a00
mov rdi, r14
jmp 0x1400a5acc
xor r15d, r15d
sub rcx, r15
mov r14, rcx
neg r14
add rcx, r10
nop dword [rax + rax]
mov eax, dword [0x1415b5c78]
and eax, dword [0x1415b5c7c]
shr eax, 1
imul rax, rax, 0x42448507
shr rax, 0x3c
add eax, 0xd15091f1
cmp eax, 0xff4d861c
ja 0x1400a5ae0
mov al, 2
test rcx, rcx
je 0x1400a62c3
lea r12, [rdi + 1]
nop word cs:[rax + rax]
mov edx, dword [0x1415b5cd0]
add edx, dword [0x1415b5cd4]
or edx, 0x16e79cb1
add edx, 0x4de62d5
not edx
or edx, 0x548f649c
cmp edx, 0x8fe38799
ja 0x1400a5b20
mov rbx, r15
sub rbx, 1
jae 0x1400a5b70
xor ebx, ebx
xor edi, edi
mov r10, qword [rsp]
cmp rcx, 0x14
jge 0x1400a5f00
jmp 0x1400a595c
mov edx, dword [0x1415b5cd8]
mov r8d, dword [0x1415b5cdc]
mov r9d, edx
not r9d
and r9d, r8d
not r8d
and r8d, edx
sub r8d, r9d
or r8d, 0xd54841cc
and r8d, 0xd559e3cd
cmp r8d, 0x193d3ab8
je 0x1400a5b70
movzx edx, byte [rdi]
nop dword [rax]
mov r8d, dword [0x1415b5ce0]
xor r8d, dword [0x1415b5ce4]
mov r9d, r8d
not r9d
mov r10d, r8d
and r10d, 0x14e9b595
and r9d, 0xeb164a6a
imul r9d, r10d
mov r10d, r8d
and r10d, 0xeb164a6a
or r8d, 0xeb164a6a
imul r8d, r10d
add r8d, r9d
imul r8, r8, 0x79a03613
shr r8, 0x3d
imul r8d, r8d, 0xffbf717b
cmp r8d, 0x1c3a8292
jb 0x1400a5bb0
cmp dl, 0x65
jge 0x1400a5c30
cmp dl, 0x45
je 0x1400a5c32
mov ebx, 1
xor edi, edi
mov r10, qword [rsp]
cmp rcx, 0x14
jge 0x1400a5f00
jmp 0x1400a595c
jne 0x1400a5c16
test rbx, rbx
je 0x1400a62c3
nop dword [rax + rax]
mov edx, dword [0x1415b5ce8]
or edx, dword [0x1415b5cec]
imul r8, rdx, 0x16dd8fbb
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1d
add edx, 0xb417495c
and edx, 0xa003007f
xor edx, 0x9009498
cmp edx, 0x86018fe0
jb 0x1400a5c40
movzx edx, byte [r12]
nop word cs:[rax + rax]
mov r8d, dword [0x1415b5cf0]
xor r8d, dword [0x1415b5cf4]
or r8d, 0x51ea08c3
add r8d, 0xdf18f099
mov r9d, r8d
and r9d, 0x4a086bd8
add r9d, r9d
sub r8d, r9d
add r8d, 0x4a686bd9
cmp r8d, 0x72eb25c7
jb 0x1400a5c90
mov r9d, edx
cmp dl, 0x2d
jge 0x1400a5cd7
cmp dl, 0x2b
jne 0x1400a5e4b
add r15, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov r8d, dword [0x1415b5cf8]
mov r9d, dword [0x1415b5cfc]
mov r10d, r9d
and r10d, r8d
add r8d, r9d
sub r8d, r10d
mov r9d, r8d
xor r9d, 0x40499818
and r9d, r8d
mov r8d, r9d
not r8d
or r9d, 0x22102442
and r8d, 0x608130
and r9d, 0xea197e4a
or r9d, r8d
cmp r9d, 0xe15fe437
je 0x1400a5cf0
mov r9d, 0xbef424f9
nop word cs:[rax + rax]
mov r8d, dword [0x1415b5d00]
mov r10d, dword [0x1415b5d04]
mov ebx, r8d
xor ebx, r10d
not ebx
and ebx, r10d
add ebx, ebx
sub r10d, ebx
add r10d, r8d
mov r8d, r10d
xor r8d, 0x5879b64f
or r10d, 0xa78649b0
and r10d, r8d
imul r10, r9
shr r10, 0x3e
imul r8d, r10d, 0xb3e0e6cf
cmp r8d, 0xed99c64e
ja 0x1400a5d50
nop dword [rax]
mov r8d, dword [0x1415b5d08]
imul r8d, dword [0x1415b5d0c]
add r8d, 0x682937ff
and r8d, 0xf5572da2
imul r8, r8, 0x3148ad0d
shr r8, 0x3d
cmp r8d, 0xa79d53c2
ja 0x1400a5da0
test r15, r15
je 0x1400a62c3
add rdi, 2
nop
mov r8d, dword [0x1415b5d10]
sub r8d, dword [0x1415b5d14]
mov r9d, r8d
not r9d
and r9d, 0x839c150e
mov r10d, r8d
and r10d, 0x7c63eaf1
imul r10d, r9d
mov r9d, r8d
and r9d, 0x839c150e
or r8d, 0x839c150e
imul r8d, r9d
add r8d, r10d
add r8d, 0xef3014e4
mov r9d, r8d
and r9d, 0x37a242c0
add r9d, r9d
sub r8d, r9d
cmp r8d, 0x572f2284
je 0x1400a5de0
movzx r9d, byte [rdi]
mov r12, rdi
mov rbx, r15
add r9b, 0xd0
cmp r9b, 9
mov r10, qword [rsp + 8]
ja 0x1400a6649
xor eax, eax
xor r9d, r9d
nop word cs:[rax + rax]
movzx edi, byte [r12]
mov r8d, edi
and r8b, 0xd0
or dil, 0xd0
add dil, r8b
cmp dil, 9
ja 0x1400a5eae
inc r12
cmp r9, 0x10000
lea r8, [r9 + r9*4]
movzx r10d, dil
lea r8, [r10 + r8*2]
cmovl rax, r8
cmovl r9, r8
dec rbx
jne 0x1400a5e70
xor ebx, ebx
mov r10, qword [rsp]
mov r9, rax
neg r9
nop dword [rax + rax]
mov r8d, dword [0x1415b5d18]
and r8d, dword [0x1415b5d1c]
xor r8d, 0xdd91c045
add r8d, 0x169ca6ac
cmp dl, 0x2d
mov rdi, rax
cmove rdi, r9
lea r15, [rdi + r14]
cmp r8d, 0x1ad40069
jbe 0x1400a5ec0
mov r14, r15
cmp rcx, 0x14
jl 0x1400a595c
mov eax, dword [0x1415b5d20]
xor edx, edx
div dword [0x1415b5d24]
add rcx, 0xffffffffffffffed
nop word cs:[rax + rax]
mov eax, dword [0x1415b5d28]
imul eax, dword [0x1415b5d2c]
or eax, 0x698ba42f
imul eax, eax, 0x4d549ba9
xor eax, 0xd6dcde88
cmp eax, 0x7c5a99f9
jb 0x1400a5f20
lea r12, [r10 + 1]
nop dword [rax + rax]
mov eax, dword [0x1415b5d30]
sub eax, dword [0x1415b5d34]
or eax, 0x282a4ee9
cmp eax, 0xa2d8ab65
je 0x1400a5f50
nop dword [rax + rax]
mov eax, dword [0x1415b5d38]
mov edx, dword [0x1415b5d3c]
mov r8d, eax
not r8d
and r8d, edx
not edx
and edx, eax
sub edx, r8d
lea eax, [rdx - 0x563c544a]
not eax
or eax, 0x3c3151b8
add eax, edx
add eax, 0x803f8d5a
cmp eax, 0x345c4d82
jb 0x1400a5f70
xor eax, eax
mov rdx, r13
mov r15, qword [rsp]
movzx r9d, byte [r15]
mov r15, r12
cmp r9b, 0x30
jge 0x1400a5fd0
cmp r9b, 0x2e
je 0x1400a5fe0
jmp 0x1400a60c4
jne 0x1400a60c4
nop word cs:[rax + rax]
mov r8d, dword [0x1415b5d40]
mov r10d, dword [0x1415b5d44]
mov ebp, r8d
xor ebp, r10d
not ebp
and ebp, r10d
add ebp, ebp
sub r10d, ebp
add r10d, r8d
mov r8d, r10d
xor r8d, 0x71b19217
and r8d, r10d
mov r10d, r8d
not r10d
mov ebp, r8d
and ebp, 0xc7e444ec
and r10d, 0x381bbb13
imul r10d, ebp
mov ebp, r8d
and ebp, 0x381bbb13
or r8d, 0x381bbb13
imul r8d, ebp
add r8d, r10d
and r8d, 0xa29ec63e
mov r10d, r9d
sub r10b, 0x2f
movzx ebp, r10b
cmovb ebp, eax
cmp r8d, 0x1e4a8b0f
je 0x1400a5fe0
dec rdx
movzx r8d, bpl
sub rcx, r8
mov r8d, dword [0x1415b5d48]
mov r9d, dword [0x1415b5d4c]
mov r10d, r8d
not r10d
or r8d, r9d
not r9d
and r9d, r10d
not r9d
and r9d, r8d
imul r8, r9, 0x62c68977
shr r8, 0x3e
add r8d, 0x5949548f
lea r12, [r15 + 1]
test rdx, rdx
cmove r12, r15
sete r9b
test r15, r15
sete bpl
cmp r8d, 0x579426c1
jb 0x1400a6067
or r9b, bpl
je 0x1400a5fb0
test rcx, rcx
jle 0x1400a64d0
movabs r14, 0xde0b6b3a763ffff
xor esi, esi
mov r15d, 0x8ff847c1
mov r12, qword [rsp]
nop word cs:[rax + rax]
mov eax, dword [0x1415b5d50]
xor eax, dword [0x1415b5d54]
xor eax, 0xf64961a1
imul eax, eax, 0x634b847c
imul rax, rax, 0x6751ace7
shr rax, 0x3e
cmp eax, 0x2555b7cb
je 0x1400a60f0
movzx ebp, byte [r12]
mov eax, ebp
and al, 0x50
add al, al
xor bpl, 0xd0
add bpl, al
cmp bpl, 9
ja 0x1400a62d6
mov eax, dword [0x1415b5d58]
xor edx, edx
div dword [0x1415b5d5c]
add eax, 0x190d9f07
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xca2316c7
and edx, 0x35dce938
imul edx, r8d
mov r8d, eax
and r8d, 0x35dce938
or eax, 0x35dce938
imul eax, r8d
add eax, edx
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x438ec1e8
and edx, 0xbc713e15
imul edx, r8d
mov r8d, eax
and r8d, 0xbc713e10
or eax, 0xbc713e15
imul eax, r8d
add eax, edx
cmp eax, 0x4ec306f
jb 0x1400a6135
dec r13
inc r12
add rsi, rsi
lea rsi, [rsi + rsi*4]
nop word cs:[rax + rax]
mov eax, dword [0x1415b5d60]
and eax, dword [0x1415b5d64]
add eax, 0x7dfba42a
imul rax, r15
shr rax, 0x39
add eax, 0x38828e7f
cmp eax, 0x22087717
jb 0x1400a61c0
movzx eax, bpl
add rsi, rax
mov eax, dword [0x1415b5d68]
xor edx, edx
div dword [str.I_B]
cmp rsi, r14
seta al
mov edx, dword [0x1415b5d70]
mov r8d, dword [0x1415b5d74]
not edx
not r8d
and r8d, edx
mov edx, r8d
not edx
and r8d, 0x4a9a2023
mov r9d, edx
and r9d, 0x20010898
or r9d, r8d
xor r9d, 0x4a0008b8
and edx, 0x9a289b
or edx, r9d
or edx, 0x9564d744
imul r8d, edx, 0x8e496f62
test r13, r13
sete dl
cmp r8d, 0x570490bf
je 0x1400a61fa
or al, dl
je 0x1400a60f0
cmp rsi, r14
jbe 0x1400a62cd
sub r13, r11
nop word [rax + rax]
mov eax, dword [0x1415b5d80]
xor edx, edx
div dword [0x1415b5d84]
add eax, 0xf0774148
mov edx, eax
or edx, 0x77a7f4f7
mov r8d, eax
not r8d
and r8d, 0x80000200
mov r9d, edx
and r9d, 0x38db895b
imul r9d, r8d
and edx, 0xc72476a4
or eax, 0xf7a7f6f7
imul eax, edx
add eax, r9d
cmp eax, 0x797f4d6d
jb 0x1400a6270
jmp 0x1400a64aa
mov r10, qword [rsp + 8]
jmp 0x1400a6649
test r13, r13
je 0x1400a665e
dec r13
nop dword [rax]
mov eax, dword [0x1415b5da0]
and eax, dword [0x1415b5da4]
mov edx, eax
and edx, 0x3481c1fb
xor eax, 0x7481c1fb
lea eax, [rax + rdx*2]
and eax, 0x54ed135e
imul eax, eax, 0xf4682ee6
cmp eax, 0x820cc711
je 0x1400a62e0
test r13, r13
je 0x1400a6496
inc r12
nop word [rax + rax]
mov eax, dword [0x1415b5da8]
sub eax, dword [0x1415b5dac]
or eax, 0x50162ab4
add eax, 0xb101b214
and eax, 0x8bc07d11
cmp eax, 0x858624c4
je 0x1400a6320
nop word cs:[rax + rax]
mov eax, dword [0x1415b5db0]
mov edx, dword [0x1415b5db4]
mov r8d, eax
not r8d
or eax, edx
not edx
and edx, r8d
not edx
and edx, eax
xor edx, 0x71482017
imul eax, edx, 0x8dc9287c
mov edx, eax
xor edx, 0xd4e573c
and edx, eax
cmp edx, 0xf28b8ebb
je 0x1400a6350
mov edx, 0xa36a59c5
mov rax, r13
nop word cs:[rax + rax]
movzx r11d, byte [r12]
mov r8d, r11d
and r8b, 0x50
add r8b, r8b
xor r11b, 0xd0
add r11b, r8b
cmp r11b, 9
ja 0x1400a6498
mov r8d, dword [0x1415b5db8]
mov r9d, dword [0x1415b5dbc]
mov r10d, r8d
xor r10d, r9d
not r10d
and r10d, r9d
add r10d, r10d
sub r9d, r10d
add r9d, r8d
mov r8d, r9d
and r8d, 0x2131c7c5
and r9d, 0x1300180
xor r8d, 0x5f7619b2
lea r8d, [r8 + r9*2]
and r8d, 0x5911baf7
cmp r8d, 0x3313efae
jb 0x1400a63c0
dec rax
inc r12
mov r8d, esi
not r8d
and r8d, 0xa
mov r10, rsi
and r10, 0xfffffffffffffff5
imul r10, r8
mov r8d, esi
and r8d, 0xa
or rsi, 0xa
imul rsi, r8
mov r9, rsi
add r9, r10
movzx r11d, r11b
mov r8d, dword [0x1415b5dc0]
mov r10d, dword [0x1415b5dc4]
xor r10d, r8d
not r10d
and r10d, r8d
add r10d, 0x63698769
and r10d, 0xd18c5e25
imul r10, rdx
shr r10, 0x3f
lea rsi, [r11 + r9]
cmp rsi, r14
seta bpl
test rax, rax
sete r15b
cmp r10d, 0x360fbfad
ja 0x1400a6443
or bpl, r15b
je 0x1400a63a0
jmp 0x1400a6498
xor eax, eax
mov rdx, rax
xor rdx, r13
not r13
and r13, rax
add r13, r13
sub r13, rdx
add rdi, r13
nop dword [rax]
mov eax, dword [0x1415b5dc8]
sub eax, dword [0x1415b5dcc]
xor eax, 0x5081b020
or eax, 0xa32e4bdf
cmp eax, 0x14b87359
jbe 0x1400a64b0
mov r14, rdi
mov r9d, 0xa6eb4f59
nop word cs:[rax + rax]
test rcx, rcx
setg r8b
mov eax, dword [str.ZFB]
xor edx, edx
div dword [0x1415b5d7c]
imul eax, eax, 0x1b094c81
imul rax, r9
shr rax, 0x3f
imul eax, eax, 0x10affd80
cmp eax, 0xe05ece2
je 0x1400a64e0
mov r10, qword [rsp + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415b5dd0]
mov ecx, dword [0x1415b5dd4]
mov edx, eax
not edx
and edx, ecx
mov r9d, ecx
not r9d
and r9d, eax
imul r9d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r9d
add eax, 0x407873c7
mov ecx, eax
and ecx, 0x1ef80cbe
xor eax, 0x1ef80cbe
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xaadc1746
and ecx, 0x5523e8b9
imul ecx, edx
mov edx, eax
and edx, 0x5523e8b9
or eax, 0x5523e8b9
imul eax, edx
add eax, ecx
cmp eax, 0x95024209
ja 0x1400a6520
mov al, 2
test rbx, rbx
jne 0x1400a6649
mov eax, dword [0x1415b5dd8]
mov ecx, dword [0x1415b5ddc]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
xor eax, 0x7f309700
and eax, ecx
and eax, 0xffbdd7a8
add eax, 0xb690b0f6
cmp eax, 0xf50a2fc3
jbe 0x1400a65c8
mov qword [r10], r14
mov r9d, 0x9a00193f
nop
mov eax, dword [0x1415b5de0]
xor edx, edx
div dword [0x1415b5de4]
add eax, 0x6564693c
imul rax, r9
shr rax, 0x3e
or eax, 0x4ca18638
mov qword [r10], r14
cmp eax, 0xd4ae24a4
ja 0x1400a65d0
mov qword [r10 + 8], rsi
mov byte [r10 + 0x10], 0
nop word cs:[rax + rax]
mov eax, dword [0x1415b5de8]
mov ecx, dword [0x1415b5dec]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
add ecx, 0xbab7fc53
and ecx, 0xeb8e0cfb
imul rax, rcx, 0x49e0bc8b
shr rax, 0x3e
cmp eax, 0x55a9b45e
ja 0x1400a6610
mov eax, r8d
mov byte [r10 + 0x11], al
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415b5d88]
xor edx, edx
div dword [0x1415b5d8c]
add eax, 0xf3422a9e
mov ecx, eax
xor ecx, 0x2be4dd8b
and ecx, eax
add ecx, 0xf5211fc5
cmp ecx, 0x63984734
jb 0x1400a66b7
mov eax, dword [0x1415b5d90]
sub eax, dword [0x1415b5d94]
or eax, 0x2e5a0519
xor eax, 0xe89b65aa
mov ecx, eax
or ecx, 0x2d44309a
or eax, 0x2f44309b
and eax, ecx
ud2
ud2