Function at 0x1401e59f0
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x948
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x8c0], 0xfffffffffffffffe
mov qword [rbp + 0x7f0], r8
mov qword [rbp + 0x7e0], rdx
mov qword [rbp + 0x7e8], rcx
lea rsi, [rbp + 0x818]
mov rcx, rsi
call fcn.1401e8760
mov rcx, rsi
xor edx, edx
call fcn.140229900
lea rax, [fcn.1401e59f0]
lea esi, [rax + rax]
add esi, 0x3620
mov edi, esi
not edi
movabs rbx, 0x354242e8aa40e3d
nop word cs:[rax + rax]
test edi, esi
jne 0x1401e5ac9
mov qword [rbp + 0x8b8], 0xf
mov rax, qword [0x14050f5a0]
add rax, rbx
mov qword [rbp + 0x8b0], rax
mov ecx, 1
mov edx, 1
mov r8d, 0x70d7899
call fcn.1401eb400
mov ecx, dword [rax]
mov dword [rbp + 0x8a0], ecx
movzx eax, byte [rax + 4]
mov byte [rbp + 0x8a4], al
mov byte [rbp + 0x8a5], 0
mov eax, dword [0x14055c3fc]
cmp eax, 0x1e
jle 0x1401e5b27
mov qword [rbp + 0x8b8], 0xf
mov rax, qword [0x14050f5a0]
add rax, rbx
mov qword [rbp + 0x8b0], rax
mov ecx, 1
mov edx, 1
mov r8d, 0x70d7899
call fcn.1401eb400
mov ecx, dword [rax]
mov dword [rbp + 0x8a0], ecx
movzx eax, byte [rax + 4]
mov byte [rbp + 0x8a4], al
mov byte [rbp + 0x8a5], 0
mov eax, dword [0x14055c3fc]
cmp eax, 0x51
jge 0x1401e5a70
jmp 0x1401e5a74
call fcn.140356af0
mov rcx, rax
mov ebx, 0x15
lea r10, [fcn.1401e59f0]
lea eax, [r10 + r10]
add eax, 0x900
mov r11d, eax
not r11d
and r11d, eax
movabs r14, 0x354242e8aa40e42
xor esi, esi
mov r12d, 0xe1f607fd
mov r9d, 0xe1f60816
jmp 0x1401e5baa
or r8b, 0x30
lea rbx, [r13 - 1]
mov byte [rbp + r13 + 0x87f], r8b
mov rax, rcx
movabs rdx, 0xcccccccccccccccd
mul rdx
shr rdx, 3
mov rax, qword [0x14050f5a0]
add rax, r14
cmp rcx, rax
mov rcx, rdx
jb 0x1401e5d65
mov r13, rbx
mov eax, dword [0x14050f5a8]
mov edx, 0xe1f607fb
add eax, edx
cmp r11d, eax
mov r8, qword [0x14050f5a0]
add r8, r14
mov rax, rcx
or rax, r8
shr rax, 0x20
je 0x1401e5be0
mov rax, rcx
xor edx, edx
div r8
mov r8, rdx
jmp 0x1401e5bea
mov eax, ecx
xor edx, edx
div r8d
mov r8d, edx
xor eax, eax
sub eax, dword [0x14050f5a8]
mov edx, eax
xor edx, 0x1e09f804
and eax, 0x1e09f804
lea eax, [rdx + rax*2]
neg eax
lea edx, [r10 + r10]
add edx, 0x24c0
xor eax, edx
not eax
test eax, edx
jne 0x1401e5bbd
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov edi, dword [0x14050f5a8]
add edi, r12d
xor edx, edx
div edi
test edx, edx
jne 0x1401e5c4b
movsxd rdi, dword [0x14042ebe8]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401e5c60
test sil, sil
je 0x1401e5d40
jmp 0x1401e5d5d
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e5ca0
nop word cs:[rax + rax]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x14050f5a8]
add ebx, r12d
xor edx, edx
div ebx
test edx, edx
je 0x1401e5ce0
nop dword [rax]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x14050f5a8]
add ebx, r12d
xor edx, edx
div ebx
test edx, edx
mov eax, dword [0x14055c3fc]
cmp eax, 0x39
jg 0x1401e5cbb
lea eax, [r10 + r10]
add eax, 0x1060
mov edx, eax
not edx
test edx, eax
jne 0x1401e5ca0
jmp 0x1401e5c80
lea rax, [0x14042ebe8]
add rdi, rax
mov eax, dword [0x14055c3fc]
cmp eax, 0x4c
jg 0x1401e5d20
nop word cs:[rax + rax]
mov r15d, dword [0x14042ebf0]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401e5b70
nop dword [rax]
mov eax, dword [0x14042ebf0]
mov eax, dword [0x14055c3fc]
cmp eax, 0x5d
jge 0x1401e5d20
jmp 0x1401e5d00
mov eax, dword [0x14042ebe8]
mov eax, dword [0x14055c3fc]
mov edx, dword [0x14050f5a8]
add edx, r9d
cmp eax, edx
jl 0x1401e5c33
mov eax, dword [0x14042ebe8]
jmp 0x1401e5d40
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rbx, 0x15
movabs r12, 0xcccccccccccccccd
je 0x1401e5dc8
lea r9, [rbx + rbp]
add r9, 0x880
mov esi, 0x16
sub rsi, r13
cmp rsi, 0xf
jbe 0x1401e5db0
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.140086c60
jmp 0x1401e5dc8
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov rdx, r9
mov r8, rsi
call fcn.14040cc90
mov byte [rbp + rsi - 0x40], 0
mov r8, qword [rbp - 0x30]
movabs rcx, 0x354242e8aa40e47
mov rax, qword [0x14050f5a0]
add rax, rcx
cmp qword [rbp - 0x28], rax
jbe 0x1401e5dec
mov r9, qword [rbp - 0x40]
jmp 0x1401e5df0
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x8b0]
mov rax, qword [rbp + 0x8b8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1401e5e1f
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x8a0]
mov rdx, r8
call fcn.1400875c0
jmp 0x1401e5e4f
lea rsi, [rcx + r8]
mov qword [rbp + 0x8b0], rsi
cmp rax, 0x10
jb 0x1401e5e39
mov rbx, qword [rbp + 0x8a0]
jmp 0x1401e5e40
lea rbx, [rbp + 0x8a0]
add rcx, rbx
mov rdx, r9
call fcn.14040cc90
mov byte [rbx + rsi], 0
mov r8, qword [rbp - 0x28]
cmp r8, 0x10
jb 0x1401e5f5a
lea rdx, [r8 + 1]
mov eax, 0xe1f607fb
nop word cs:[rax + rax]
mov rcx, qword [rbp - 0x40]
mov r9d, dword [0x14055c3fc]
cmp r9d, 0x21
jl 0x1401e5eb1
nop word cs:[rax + rax]
mov ecx, dword [0x14055c3f8]
lea r9d, [rcx - 1]
imul r9d, ecx
and r9d, 1
mov ecx, dword [0x14050f5a8]
add ecx, eax
cmp r9d, ecx
jne 0x1401e5e90
jmp 0x1401e5e70
cmp rdx, 0x1000
jb 0x1401e5f55
nop
mov edx, dword [0x14055c3f8]
mov r9d, dword [0x14050f5a8]
mov eax, edx
sub eax, r9d
add eax, 0x1e09f804
imul eax, edx
add r9d, 0xe1f607fd
xor edx, edx
div r9d
test edx, edx
je 0x1401e5ef5
mov eax, dword [0x14055c3fc]
cmp eax, 0x39
jge 0x1401e5ec0
mov rax, qword [rcx - 8]
mov rdx, qword [0x14050f5a0]
sub rdx, rax
add rcx, rdx
add rcx, 0xfffffffffffffff8
movabs rdx, 0x354242e8aa40e38
add rdx, rcx
cmp rdx, 0x20
jae 0x1401e5fab
mov ecx, dword [0x14055c3f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov rdx, qword [0x14050f5a0]
add rdx, r8
mov ecx, dword [0x14055c3fc]
cmp ecx, 0x2a
jge 0x1401e5f30
movabs rcx, 0x354242e8aa40e60
add rdx, rcx
mov rcx, rax
call fcn.1400a7e90
mov rax, qword [rbp + 0x8b0]
mov rcx, qword [rbp + 0x8b8]
cmp rcx, rax
jne 0x1401e5fce
xor ecx, ecx
xor edx, edx
mov r8d, 0x70d7899
call fcn.1401eb400
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x8a0]
mov edx, 1
mov r9, rax
call fcn.1400875c0
jmp 0x1401e5ff5
mov eax, dword [0x14055c3fc]
cmp eax, 0x53
jge 0x1401e5fa0
mov eax, dword [0x14055c3f8]
mov ecx, dword [0x14050f5a8]
neg ecx
add ecx, eax
add ecx, 0x1e09f804
imul ecx, eax
test cl, 1
jne 0x1401e5fa0
call fcn.1403c4adc
lea rdx, [rax + 1]
mov qword [rbp + 0x8b0], rdx
cmp rcx, 0x10
jb 0x1401e5fe8
mov rcx, qword [rbp + 0x8a0]
jmp 0x1401e5fef
lea rcx, [rbp + 0x8a0]
mov word [rcx + rax], 0x2d
call fcn.140356aa0
mov r8, rax
mov r10d, 0x15
nop word cs:[rax + rax]
mov rcx, r10
mov rax, r8
mul r12
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r9d, r8d
sub r9d, eax
or r9b, 0x30
mov byte [rbp + r10 + 0x87f], r9b
mov eax, dword [0x14055c3fc]
cmp eax, 0x4e
jge 0x1401e6313
lea r10, [rcx - 1]
cmp r8, 9
mov r8, rdx
ja 0x1401e6010
mov qword [rbp - 0x30], 0
mov eax, dword [0x14050f400]
lea r13d, [rax + 1]
mov dword [0x14050f400], r13d
mov edx, eax
not edx
xor eax, r13d
not r13d
and r13d, edx
or r13d, eax
not r13d
mov edx, 0xe1f607fb
mov eax, dword [0x14050f5a8]
add eax, edx
xor edx, edx
mov qword [rbp + 0x870], rdx
mov edx, 0
mov qword [rbp + 0x878], rdx
mov dword [rbp + 0x86c], eax
cmp r13d, eax
jne 0x1401e6113
xor eax, eax
test al, al
jne 0x1401e60c0
mov eax, dword [0x14055c3fc]
cmp eax, 0x12
jl 0x1401e60ef
nop dword [rax + rax]
mov eax, dword [0x14055c3fc]
cmp eax, 0x41
jg 0x1401e60dc
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401e60b0
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e60c0
jmp 0x1401e60cb
xor r9d, r9d
mov eax, 0
mov qword [rbp + 0x870], rax
mov eax, 0
mov qword [rbp + 0x878], rax
test r15d, r15d
jg 0x1401e6192
lea r9, [r10 + rbp]
add r9, 0x880
mov eax, dword [0x14055c3f8]
mov r8d, 0xe1f607fb
nop word [rax + rax]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x14050f5a8]
add eax, r8d
cmp edx, eax
je 0x1401e6157
mov eax, dword [0x14055c3fc]
cmp eax, 0xb
jge 0x1401e6130
mov eax, dword [0x14055c3f8]
mov edx, dword [0x14050f5a8]
neg edx
add edx, eax
add edx, 0x1e09f804
imul edx, eax
test dl, 1
movabs r14, 0x354242e8aa40e42
movabs r8, 0x354242e8aa40e47
jne 0x1401e63ba
jmp 0x1401e639d
mov r11d, 0xe1f607fd
lea rsi, [fcn.1401e59f0]
lea r8d, [rsi + rsi]
add r8d, 0x500
mov r12d, 0xe1f607fb
xor eax, eax
mov qword [rbp + 0x870], rax
xor eax, eax
mov qword [rbp + 0x878], rax
jmp 0x1401e61e9
mov eax, dword [0x14050f5a8]
add r9d, eax
add r9d, 0xe1f6080b
cmp r9d, r15d
jge 0x1401e6113
mov r14d, r13d
nop dword [rax]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x14050f5a8]
add ebx, r11d
xor edx, edx
div ebx
test edx, edx
jne 0x1401e61f0
movsxd rax, r9d
add rax, rdi
mov rdx, qword [rax]
mov rax, qword [rax + 8]
nop word [rax + rax]
mov ebx, dword [0x14050f5a8]
lea r13d, [rbx - 0x1e09f804]
and r13d, r8d
add ebx, 0xe1f607fb
cmp r13d, ebx
jne 0x1401e6246
mov ebx, dword [0x14055c3fc]
cmp ebx, 0x2e
jle 0x1401e6260
mov ebx, dword [0x14055c3f8]
lea r13d, [rbx - 1]
imul r13d, ebx
test r13b, 1
jne 0x1401e6220
jmp 0x1401e623b
xor qword [rbp + 0x870], rdx
xor qword [rbp + 0x878], rax
nop
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x14050f5a8]
add eax, r12d
cmp edx, eax
jne 0x1401e62aa
mov eax, dword [0x14055c3f8]
mov edx, dword [0x14050f5a8]
neg edx
add edx, eax
add edx, 0xe1f607fc
imul edx, eax
test dl, 1
je 0x1401e62c0
cmp dword [0x14050f5a8], 0x1e09f805
jne 0x1401e6270
jmp 0x1401e628c
mov r13d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e62f5
lea eax, [rsi + rsi]
add eax, 0x1ba0
mov edx, eax
not edx
test edx, eax
je 0x1401e61d0
mov eax, dword [0x14055c3f8]
mov edx, dword [0x14050f5a8]
add edx, eax
add edx, 0x1e09f804
imul edx, eax
test dl, 1
jne 0x1401e62d0
jmp 0x1401e62e1
movabs rax, 0x354242e8aa40e38
add rax, qword [0x14050f5a0]
movabs rcx, 0x71e30fd69c3ebdda
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
mov edx, 0xa
sub rdx, r8
movabs rcx, 0x8e1cf02963c14226
add rcx, r8
add rcx, rax
shl rdx, cl
mov rax, rdx
sub rax, rcx
imul rax, rcx
mov rcx, rdx
neg rcx
mov r8, rcx
xor r8, rax
and rcx, rax
lea rcx, [r8 + rcx*2]
sub rdx, rcx
imul rdx, rcx
sub rcx, rdx
shl rdx, cl
mov rax, rcx
sub rax, rdx
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1401e6399
xor edx, edx
div rcx
jmp 0x1401e639d
xor edx, edx
div ecx
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov eax, dword [0x14055c3f8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
je 0x1401e63ce
mov rax, qword [0x14050f5a0]
add rax, r8
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x40], 0
jmp 0x1401e639d
cmp r10, 0x15
movabs rbx, 0xcccccccccccccccd
je 0x1401e6429
mov rax, qword [0x14050f5a0]
sub rax, rcx
movabs rsi, 0x354242e8aa40e4e
add rsi, rax
cmp rsi, 0xf
jbe 0x1401e6409
lea rcx, [rbp - 0x40]
mov rdx, rsi
call fcn.140086c60
jmp 0x1401e6429
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov rdx, r9
mov r8, rsi
call fcn.14040cc90
movzx eax, byte [0x14050f5ac]
add al, 0xd3
mov byte [rbp + rsi - 0x40], al
mov r8, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 0x10
jb 0x1401e643a
mov r9, qword [rbp - 0x40]
jmp 0x1401e643e
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x8b0]
mov rax, qword [rbp + 0x8b8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1401e646d
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x8a0]
mov rdx, r8
call fcn.1400875c0
jmp 0x1401e649d
lea rsi, [rcx + r8]
mov qword [rbp + 0x8b0], rsi
cmp rax, 0x10
jb 0x1401e6487
mov rdi, qword [rbp + 0x8a0]
jmp 0x1401e648e
lea rdi, [rbp + 0x8a0]
add rcx, rdi
mov rdx, r9
call fcn.14040cc90
mov byte [rdi + rsi], 0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x1401e6537
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401e6532
mov edx, dword [0x14050f5a8]
mov r8d, edx
xor r8d, 0xe1f607fb
and edx, 0x61f607fb
add edx, edx
add edx, r8d
nop word [rax + rax]
mov r8, qword [rcx - 8]
mov rdx, qword [0x14050f5a0]
mov r9d, dword [0x14055c3fc]
cmp r9d, 0x22
jg 0x1401e64e0
mov r9, rdx
sub r9, r8
add rcx, r9
add rcx, 0xfffffffffffffff8
movabs r9, 0x354242e8aa40e38
add r9, rcx
movabs rcx, 0x354242e8aa40e58
add rcx, rdx
cmp r9, rcx
jae 0x1401e6a24
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov rax, qword [rbp + 0x8b0]
mov rcx, qword [rbp + 0x8b8]
cmp rcx, rax
jne 0x1401e6578
xor ecx, ecx
xor edx, edx
mov r8d, 0x70d7899
call fcn.1401eb400
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x8a0]
mov edx, 1
mov r9, rax
call fcn.1400875c0
jmp 0x1401e659f
lea rdx, [rax + 1]
mov qword [rbp + 0x8b0], rdx
cmp rcx, 0x10
jb 0x1401e6592
mov rcx, qword [rbp + 0x8a0]
jmp 0x1401e6599
lea rcx, [rbp + 0x8a0]
mov word [rcx + rax], 0x2d
call fcn.1403ec3d8
mov rsi, rax
movabs r15, 0x354242e8aa40e9c
lea rdi, [0x1401eb860]
nop dword [rax + rax]
cmp dword [0x14050f5a8], 0x1e09f805
jne 0x1401e65e7
mov rcx, qword [0x14050f5a0]
add rcx, r15
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401e660d
mov ecx, 0x1f
call fcn.1403c4b54
mov qword [0x14055c3f0], rax
mov rcx, rdi
call fcn.1403e5350
mov eax, dword [0x14055c3fc]
cmp eax, 0x39
jge 0x1401e65c0
jmp 0x1401e65cc
imul rcx, rsi
test rsi, rsi
js 0x1401e666a
mov r8d, 0x14
nop dword [rax]
mov r9, qword [0x14050f5a0]
add r9, r14
mov rax, rcx
or rax, r9
shr rax, 0x20
je 0x1401e6640
mov rax, rcx
xor edx, edx
div r9
jmp 0x1401e6647
mov eax, ecx
xor edx, edx
div r9d
or dl, 0x30
mov byte [rbp + r8 + 0x880], dl
mov rax, rcx
mul rbx
cmp rcx, 0xa
jb 0x1401e66d2
shr rdx, 3
dec r8
mov rcx, rdx
jmp 0x1401e6620
mov rax, qword [0x14050f5a0]
sub rax, rcx
movabs rdx, 0x354242e8aa40e38
add rdx, rax
mov r8d, 0x13
nop word [rax + rax]
mov rcx, rdx
mov rax, rdx
mul rbx
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r9d, ecx
sub r9d, eax
or r9b, 0x30
mov byte [rbp + r8 + 0x881], r9b
mov rax, qword [0x14050f5a0]
add rax, r14
cmp rcx, rax
jb 0x1401e66c9
dec r8
jmp 0x1401e6690
mov byte [rbp + r8 + 0x880], 0x2d
cmp dword [0x14050f5a8], 0x1e09f805
je 0x1401e66f9
nop
mov qword [rbp - 0x30], 0
mov eax, dword [0x14055c3f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e66e0
lea rax, [r8 + rbp]
add rax, 0x880
mov qword [rbp + 0x838], rax
mov rax, qword [0x14050f5a0]
movabs r14, 0x354242e8aa40e38
mov rcx, rax
xor rcx, r14
and rax, r14
lea rax, [rcx + rax*2]
mov qword [rbp - 0x30], rax
mov r10, qword [0x14042ebd8]
mov r11, qword [0x14042ebd0]
mov esi, 0xe1f607fd
mov edi, 0xe1f6082c
nop word cs:[rax + rax]
mov ecx, dword [0x14055c3f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14050f5a8]
add ecx, esi
xor edx, edx
div ecx
test edx, edx
jne 0x1401e6790
mov eax, dword [0x14055c3fc]
cmp eax, 0x32
jg 0x1401e6790
mov eax, dword [0x14055c3f8]
mov ecx, 0x9e38037
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1401e67fc
jmp 0x1401e67b0
mov eax, dword [0x14055c3fc]
mov ecx, dword [0x14050f5a8]
add ecx, edi
cmp eax, ecx
jge 0x1401e6750
jmp 0x1401e676c
xor r12d, r12d
cmp r13d, dword [rbp + 0x86c]
setne r12b
add r12, 0xffffffffffffffff
mov r9d, 0
adc r9, 0xffffffffffffffff
mov rcx, r11
sub rcx, qword [rbp + 0x870]
mov r15, r10
sbb r15, qword [rbp + 0x878]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x14050f5a8]
add ebx, esi
xor edx, edx
div ebx
test edx, edx
je 0x1401e680d
mov eax, dword [0x14055c3fc]
cmp eax, 0x25
jge 0x1401e6750
jmp 0x1401e67b0
and rcx, r12
and r15, r9
mov eax, dword [0x14055c3fc]
nop dword [rax]
mov eax, dword [0x14050f5a8]
mov edx, eax
xor edx, 0xe1f607fb
and eax, 0x61f607fb
add eax, eax
add eax, edx
jne 0x1401e6820
mov r10d, 0xe1f607fd
or rcx, r15
mov r11d, 0xe1f60813
nop dword [rax + rax]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e68ae
nop word cs:[rax + rax]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14050f5a8]
add r9d, r10d
xor edx, edx
div r9d
test edx, edx
je 0x1401e689b
cmp dword [0x14050f5a8], 0x1e09f805
jne 0x1401e6870
mov eax, dword [0x14055c3fc]
mov edx, dword [0x14050f5a8]
add edx, r11d
cmp eax, edx
jl 0x1401e68bb
mov eax, dword [0x14055c3fc]
cmp eax, 0x15
jge 0x1401e6850
jmp 0x1401e6870
mov rax, qword [0x14055c400]
nop word cs:[rax + rax]
mov rdx, qword [0x14050f5a0]
mov r9, rdx
xor r9, r14
and rdx, r14
lea rdx, [r9 + rdx*2]
sub rdx, rcx
add rdx, qword [0x14055c408]
mov r9d, dword [0x14055c3fc]
cmp r9d, 0x2d
jg 0x1401e68d0
sub rax, rdx
mov qword [0x14055c400], rax
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp r8, 0x15
je 0x1401e6956
mov esi, 0x15
sub rsi, r8
cmp rsi, 0xf
jbe 0x1401e693a
lea rcx, [rbp - 0x40]
mov rdx, rsi
mov r9, qword [rbp + 0x838]
call fcn.140086c60
jmp 0x1401e6956
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov rdx, qword [rbp + 0x838]
mov r8, rsi
call fcn.14040cc90
mov byte [rbp + rsi - 0x40], 0
mov r8, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 0x10
jb 0x1401e6967
mov r9, qword [rbp - 0x40]
jmp 0x1401e696b
lea r9, [rbp - 0x40]
mov rcx, qword [rbp + 0x8b0]
mov rax, qword [rbp + 0x8b8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1401e699a
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x8a0]
mov rdx, r8
call fcn.1400875c0
jmp 0x1401e69d2
lea rsi, [rcx + r8]
mov qword [rbp + 0x8b0], rsi
cmp rax, 0x10
jb 0x1401e69b4
mov rdi, qword [rbp + 0x8a0]
jmp 0x1401e69bb
lea rdi, [rbp + 0x8a0]
add rcx, rdi
mov rdx, r9
call fcn.14040cc90
movzx eax, byte [0x14050f5ac]
add al, 0xd3
mov byte [rdi + rsi], al
cmp dword [0x14050f5a8], 0x1e09f805
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x1401e6a7b
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401e6a76
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1401e6a29
mov ecx, dword [0x14055c3f8]
mov edx, ecx
sub edx, dword [0x14050f5a8]
imul edx, ecx
test dl, 1
jne 0x1401e6a40
jmp 0x1401e6a2e
call fcn.1403c4adc
call fcn.1403c4adc
cmp dword [0x14050f5a8], 0x1e09f805
je 0x1401e6a5c
nop word [rax + rax]
mov ecx, dword [0x14050f5a8]
mov edx, ecx
xor edx, 0xe1f607fb
and ecx, 0x61f607fb
add ecx, ecx
add ecx, edx
jne 0x1401e6a40
jmp 0x1401e6a2e
add rax, qword [0x14050f5a0]
movabs rcx, 0x354242e8aa40e60
add rax, rcx
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov rdx, qword [rbp + 0x8b0]
mov r8, qword [rbp + 0x8b8]
mov rax, r8
sub rax, rdx
movabs r9, 0x354242e8aa40e3c
mov rcx, qword [0x14050f5a0]
add rcx, r9
cmp rax, rcx
jae 0x1401e6ad9
xor ecx, ecx
xor edx, edx
mov r8d, 0x7a283dec
call fcn.1401eafb0
mov qword [rsp + 0x20], 4
lea rcx, [rbp + 0x8a0]
mov edx, 4
mov r9, rax
call fcn.1400875c0
jmp 0x1401e6c15
mov eax, dword [0x14055c3fc]
cmp eax, 0x5d
jle 0x1401e6ae6
jmp 0x1401e6b56
mov rax, qword [0x14050f5a0]
mov rcx, rax
xor rcx, r9
and rax, r9
lea rax, [rcx + rax*2]
xor rax, rdx
mov rcx, rdx
not rcx
mov r10, rdx
xor r10, 4
movabs r11, 0x7ffffffffffffffb
and r11, rcx
or r11, r10
not r11
lea rax, [rax + r11*2]
mov qword [rbp + 0x8b0], rax
lea rcx, [rbp + 0x8a0]
cmp r8, 0x10
jb 0x1401e6b3c
mov rcx, qword [rbp + 0x8a0]
mov dword [rcx + rdx], 0x6578652e
mov byte [rcx + rax], 0
mov eax, dword [0x14055c3fc]
cmp eax, 0x3d
jl 0x1401e6c15
lea ecx, [rdx*4]
add cl, 0xf0
mov r10, rdx
shl r10, cl
mov r11, r10
shl r11, cl
sub r11, r10
mov rax, r11
xor rax, r11
not rax
mov rcx, qword [0x14050f5a0]
mov rsi, rcx
xor rsi, r9
and rcx, r9
lea rcx, [rsi + rcx*2]
lea rsi, [rdx - 4]
imul rcx, rsi
mov rsi, rdx
shl rsi, cl
and rax, r10
xor rax, r11
and rsi, rcx
mov ecx, 2
mov r10d, 2
sub r10, rsi
imul r10, rsi
sub rcx, r10
imul rcx, r10
mov r11, rcx
sub r11, r10
imul r11, r10
mov rsi, r11
sub rsi, rcx
imul rsi, r11
mov r10, rsi
sub r10, rax
neg rax
imul rax, rsi
mov ecx, eax
shl r10, cl
neg r10
imul r10, rax
mov qword [rbp + 0x8b0], r10
lea rax, [rbp + 0x8a0]
cmp r8, 0x10
jb 0x1401e6c04
mov rax, qword [rbp + 0x8a0]
mov dword [rax + rdx], 0x6578652e
mov byte [rax + r10], 0
jmp 0x1401e6ae6
xorps xmm0, xmm0
movabs rdi, 0x354242e8aa40e3f
movabs rax, 0xfcabdbd1755bf1c0
movabs rcx, 0x7cabdbd1755bf1c0
lea r9, [rbp + 0x818]
jmp 0x1401e6c5b
movups xmmword [rbp + 0x890], xmm0
mov edx, dword [0x14055c3f8]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401e6c66
mov edx, dword [0x14055c3fc]
cmp edx, 0x5d
jg 0x1401e6c40
movups xmmword [rbp + 0x890], xmm0
mov rbx, qword [rbp + 0x828]
mov rdx, qword [0x14050f5a0]
lea r8, [rdx + rdi]
mov rsi, r9
cmp qword [rbp + 0x830], r8
jbe 0x1401e6c92
mov rsi, qword [rbp + 0x818]
mov r8d, dword [0x14055c3fc]
cmp r8d, 0x4b
jg 0x1401e6c40
neg rdx
xor rax, rdx
and rdx, rcx
lea rax, [rax + rdx*2]
neg rax
cmp rbx, rax
jae 0x1401e6cc9
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x880], xmm0
mov r15d, 7
jmp 0x1401e6dab
mov rax, rbx
not rax
mov rcx, rbx
xor rcx, 7
mov rdx, rbx
xor rdx, 0xfffffffffffffff8
and rdx, rax
or rdx, rcx
not rdx
and eax, 7
mov r15, rbx
and r15, 0xfffffffffffffff8
or r15, rax
or r15, rdx
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
cmovae r15, rax
lea rcx, [r15 + r15]
cmp r15, 0x7ff
jb 0x1401e6d88
movabs rax, 0x7fffffffffffffec
cmp r15, rax
jae 0x1401e6e2a
cmp dword [0x14050f5a8], 0x1e09f805
nop word cs:[rax + rax]
mov eax, dword [0x14055c3f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e6d40
add rcx, 0x29
call fcn.1403e4d2c
mov rcx, rax
xor rcx, 0x27
mov rdx, rax
not rdx
movabs r8, 0x7fffffffffffffd8
and r8, rdx
xor r8, rcx
not r8
lea rcx, [rcx + r8*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401e6d94
add rcx, 2
call fcn.1403e4d2c
mov rcx, rax
mov qword [rbp + 0x880], rcx
lea r8, [rbx + rbx]
add r8, 2
mov rdx, rsi
call fcn.14040cc90
mov qword [rbp + 0x890], rbx
mov qword [rbp + 0x898], r15
cmp qword [rbp + 0x8b8], 0x10
jb 0x1401e6dcc
mov rcx, qword [rbp + 0x8a0]
jmp 0x1401e6dd3
lea rcx, [rbp + 0x8a0]
mov rdx, qword [rbp + 0x8b0]
add rdx, rcx
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], 0
lea rsi, [rbp - 0x40]
mov r8, rsi
xor r9d, r9d
call fcn.14023deb0
mov eax, dword [0x14055c3f8]
mov ecx, dword [0x14050f5a8]
mov edx, eax
sub edx, ecx
add edx, 0x1e09f804
imul edx, eax
and edx, 1
add ecx, 0xe1f607fb
cmp edx, ecx
jne 0x1401e6e50
jmp 0x1401e6e2f
call fcn.140083100
mov rax, qword [rbp - 0x30]
cmp qword [rbp - 0x28], 8
mov rdx, rsi
jb 0x1401e6e41
mov rdx, qword [rbp - 0x40]
cmp dword [0x14050f5a8], 0x1e09f805
je 0x1401e6e5d
nop dword [rax]
mov eax, dword [0x14055c3fc]
cmp eax, 0x29
jge 0x1401e6e50
jmp 0x1401e6e2f
lea r8, [rdx + rax*2]
lea rcx, [rbp + 0x880]
call fcn.140243810
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x1401e6ec4
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1401e6ebf
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1401e6ff1
add rax, rax
mov ecx, eax
not ecx
and ecx, 0x29
mov rdx, rax
and rdx, 0xffffffffffffffd6
or rdx, rcx
and eax, 0x29
lea rdx, [rdx + rax*2]
mov rcx, r8
call fcn.1400a7e90
movaps xmm0, xmmword [rbp + 0x880]
movaps xmm1, xmmword [rbp + 0x890]
movaps xmmword [rbp + 0x840], xmm0
mov qword [rbp + 0x890], 0
add rdi, qword [0x14050f5a0]
mov qword [rbp + 0x898], rdi
mov eax, 0x7158
add eax, dword [0x14050f5b0]
movaps xmmword [rbp + 0x850], xmm1
mov word [rbp + 0x880], ax
mov rcx, qword [rbp + 0x8b8]
cmp rcx, 0x10
jb 0x1401e7019
mov r8d, 0xe1f607fd
nop word cs:[rax + rax]
mov edx, dword [0x14055c3f8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14050f5a8]
add r9d, r8d
xor edx, edx
div r9d
test edx, edx
je 0x1401e6f5a
mov eax, dword [0x14055c3fc]
cmp eax, 0x34
jge 0x1401e6f30
mov rsi, qword [rbp + 0x8a0]
lea rdi, [rcx + 1]
cmp rdi, 0x1000
jb 0x1401e6fba
xor eax, eax
test al, al
nop word cs:[rax + rax]
lea rdx, [rsi - 8]
mov rax, qword [rsi - 8]
sub rdx, rax
add rdx, qword [0x14050f5a0]
mov r8d, dword [0x14055c3f8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1401e6f80
add rdx, r14
cmp rdx, 0x20
jae 0x1401e6fd0
add rcx, 0x28
mov rdi, rcx
mov rsi, rax
mov eax, dword [0x14055c3fc]
cmp eax, 0x46
jle 0x1401e6ff6
jmp 0x1401e700c
mov eax, dword [0x14055c3f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e6fd0
mov eax, dword [0x14055c3fc]
cmp eax, 0x4f
jge 0x1401e6fd0
call fcn.1403c4adc
call fcn.1403c4adc
mov rcx, rsi
mov rdx, rdi
call fcn.1400a7e90
mov eax, dword [0x14055c3fc]
cmp eax, 0x35
jl 0x1401e7019
mov rcx, rsi
mov rdx, rdi
call fcn.1400a7e90
jmp 0x1401e6ff6
mov al, 1
mov ecx, 0xe1f607fc
lea rdx, [fcn.1401e59f0]
add edx, edx
add edx, 0x4100
nop
test al, al
jne 0x1401e7051
nop word cs:[rax + rax]
mov r8d, dword [0x14050f5a8]
add r8d, ecx
test edx, r8d
jne 0x1401e7040
jmp 0x1401e7030
lea rcx, [rbp + 0x840]
lea rsi, [rbp + 0x7f8]
mov rdx, rsi
call fcn.1401e8ac0
mov r8, qword [rbp + 0x858]
cmp r8, 8
jb 0x1401e70d0
mov rcx, qword [rbp + 0x840]
lea rdx, [r8 + r8]
add rdx, 2
cmp rdx, 0x1000
jb 0x1401e70cb
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401e70ee
add r8, r8
movabs rcx, 0x1a94310afe564639
add rcx, r8
mov rdx, rcx
xor rdx, 0x29
and ecx, 0x29
lea rcx, [rdx + rcx*2]
movabs rdx, 0xe56bcef501a9b9c7
add rdx, rcx
mov rcx, rax
call fcn.1400a7e90
mov rax, qword [rbp + 0x830]
cmp rax, 8
jb 0x1401e71dd
mov ecx, dword [0x14055c3fc]
cmp ecx, 0x5e
jle 0x1401e70f3
jmp 0x1401e7105
call fcn.1403c4adc
mov rcx, qword [rbp + 0x818]
mov edx, dword [0x14055c3fc]
cmp edx, 0x1f
jl 0x1401e7131
mov ecx, 0xe1f607fc
lea rdx, [fcn.1401e59f0]
add edx, edx
add edx, 0x3a40
nop dword [rax]
mov r8d, dword [0x14050f5a8]
add r8d, ecx
test edx, r8d
jne 0x1401e7120
jmp 0x1401e70f3
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1401e71d8
mov edx, 0xe1f607fc
add edx, dword [0x14050f5a8]
add rax, rax
lea r8, [fcn.1401e59f0]
add r8d, r8d
add r8d, 0x2ec0
test r8d, edx
jne 0x1401e7180
mov r8, qword [rcx - 8]
mov edx, dword [0x14055c3fc]
cmp edx, 0x58
jl 0x1401e718d
nop dword [rax]
mov edx, dword [0x14055c3fc]
cmp edx, 0x21
jge 0x1401e7180
jmp 0x1401e716a
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401e74cf
mov ecx, dword [0x14055c3fc]
cmp ecx, 0x10
nop word [rax + rax]
mov ecx, dword [0x14055c3f8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, 0xe1f607fb
add ecx, dword [0x14050f5a8]
cmp edx, ecx
jne 0x1401e71b0
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov qword [rbp + 0x880], 0
cmp qword [rbp + 0x810], 8
jb 0x1401e71f9
mov rsi, qword [rbp + 0x7f8]
lea r8, [0x14042eb90]
lea rcx, [rbp + 0x880]
mov rdx, rsi
call fcn.1403caafc
mov esi, eax
mov eax, 0xe1f607fc
add eax, dword [0x14050f5a8]
lea rcx, [fcn.1401e59f0]
add ecx, ecx
add ecx, 0x41c0
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
cmp ecx, 0xffffffff
nop word [rax + rax]
mov r9, qword [rbp + 0x880]
test r9, r9
sete al
test esi, esi
setne cl
mov edx, dword [0x14055c3fc]
cmp edx, 0x54
jg 0x1401e7240
or al, cl
jne 0x1401e7419
mov dword [rsp + 0x30], 0xbe51be68
mov dword [rsp + 0x28], 0xed5d7c12
mov dword [rsp + 0x20], 0x82c78f2f
mov edx, 1
mov rcx, qword [rbp + 0x7e8]
mov r8, qword [rbp + 0x7e0]
call fcn.1400a9410
mov rcx, qword [rbp + 0x880]
mov edx, 0xbd4215ec
mov r8d, 0x181e66bc
mov r9d, 0x9560dc1c
call fcn.1400ab230
mov r9, qword [rbp + 0x880]
cmp qword [rbp + 0x810], 8
jb 0x1401e72cc
mov rdx, qword [rbp + 0x7f8]
jmp 0x1401e72d3
lea rdx, [rbp + 0x7f8]
lea r8, [0x14042ed2a]
lea rcx, [rbp + 0x880]
call fcn.1403cac5c
mov rax, qword [rbp + 0x7f0]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1401e74ca
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [rbp + 0x7f8]
call qword [case.0x140303ece.0]
lea rax, [fcn.1401e59f0]
add eax, eax
add eax, 0x32c0
mov ecx, eax
not ecx
test ecx, eax
nop word cs:[rax + rax]
mov rcx, qword [rbp + 0x880]
mov eax, dword [0x14055c3fc]
cmp eax, 0x11
jg 0x1401e7330
test rcx, rcx
je 0x1401e734c
call fcn.1400a9340
mov ecx, 0xe1f607fc
lea rax, [fcn.1401e59f0]
lea edx, [rax + rax]
add edx, 0x4a0
nop word cs:[rax + rax]
mov eax, dword [0x14050f5a8]
add eax, ecx
test edx, eax
jne 0x1401e7398
mov rax, qword [rbp + 0x810]
mov r8d, dword [0x14055c3f8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1401e73a5
mov eax, dword [0x14055c3fc]
cmp eax, 0x31
jge 0x1401e7370
jmp 0x1401e737c
cmp rax, 8
jb 0x1401e7404
movzx ecx, byte [0x14050f5a0]
add cl, 0x39
shl rax, cl
mov rcx, qword [rbp + 0x7f8]
lea rdx, [rax + 2]
cmp rdx, 0x1000
jb 0x1401e73ff
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1401e74d4
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a7e90
nop
add rsp, 0x948
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdi, [rbp - 0x40]
mov r8d, 0x800
mov rcx, rdi
xor edx, edx
call fcn.14040d340
mov edx, 0x800
mov rcx, rdi
mov r8d, esi
call fcn.1403cac74
lea rdx, [0x14042eba0]
lea rcx, [rbp + 0x8a0]
lea r8, [rbp + 0x7f8]
call fcn.1401e7c20
lea r8, [0x14042eb98]
lea rcx, [rbp + 0x840]
lea rdx, [rbp + 0x8a0]
call fcn.1401e7b00
lea rcx, [rbp + 0x818]
lea rdx, [rbp + 0x840]
lea r8, [rbp - 0x40]
call fcn.1401e7b00
lea rcx, [rbp + 0x840]
call fcn.1400741f0
lea rcx, [rbp + 0x8a0]
call fcn.1400741f0
lea rcx, [rbp + 0x840]
lea rdx, [rbp + 0x818]
call fcn.1401e7d90
mov eax, dword [0x14055c3fc]
mov ecx, 0xe1f6082e
add ecx, dword [0x14050f5a8]
cmp eax, ecx
jl 0x1401e74d9
jmp 0x1401e74f7
call fcn.1403e69b4
call fcn.1403c4adc
call fcn.1403c4adc
lea rcx, [rbp + 0x7c8]
lea rdx, [rbp + 0x840]
call fcn.1401e7ea0
mov eax, dword [0x14055c3fc]
cmp eax, 0x14
jle 0x1401e750c
lea rcx, [rbp + 0x7c8]
lea rdx, [rbp + 0x840]
call fcn.1401e7ea0
jmp 0x1401e74d9
lea rdx, [0x140483470]
lea rcx, [rbp + 0x7c8]
call fcn.14040d6dc
int3