Function at 0x1400564e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rsi, rdx
mov rdi, rcx
mov eax, 0x5dc0
shr eax, 6
mov ecx, 0x5dc0
shl ecx, 0x1a
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400568e0
call fcn.140083bc2
mov ecx, 0x124ffe62
add ecx, 0xedb0019e
cmp eax, ecx
je 0x140056714
jmp 0x1400572df
call fcn.140083d11
mov ecx, 0x2f2da6df
xor ecx, 0x2f2da6df
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx]
mov qword [rsp + 0xb0], rdx
mov edx, 0x3ffb52d
sub edx, 0x3ffb3be
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x140057755
jmp 0x140057118
call fcn.140083f8a
xor ecx, ecx
shr ecx, 0x13
xor edx, edx
shl edx, 0xd
or ecx, edx
cmp eax, ecx
je 0x140057825
jmp 0x1400567d5
cmp eax, 0x17d
jl 0x1400576d3
jmp 0x140056e75
call fcn.140057890
mov eax, 0x5f800000
shl eax, 0xa
mov ecx, 0x5f800000
shr ecx, 0x16
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
mov eax, 0x13d32094
add eax, 0xec2ce0ef
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
cmp eax, 0x174
jl 0x140057068
jmp 0x140057815
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
sub r8, rax
movabs rcx, 0x4e3f76090b193faa
movabs rax, 0xb1c089f6f4e6c059
add rcx, rax
shl r8, cl
mov rcx, qword [rsp + 0xd0]
xor edx, edx
call fcn.1400d8c10
mov eax, 0x40483815
sub eax, 0x40483693
mov dword [rsp + 0x24], eax
jmp 0x140056634
call fcn.140083ce0
xor ecx, ecx
shr ecx, 0x10
xor edx, edx
shl edx, 0x10
or ecx, edx
cmp eax, ecx
jne 0x140056639
jmp 0x140057118
call fcn.140083fbf
xor ecx, ecx
shr ecx, 0x12
xor edx, edx
shl edx, 0xe
or ecx, edx
mov edx, 0x5785e7b
xor edx, 0x5785f15
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x1400567d5
jmp 0x14005693d
jmp 0x140056a81
test dl, 1
jne 0x140056675
jmp 0x140057625
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
call fcn.1400d8570
mov rax, qword [rsp + 0x60]
add rax, qword [rsp + 0x88]
mov qword [rsp + 0xd0], rax
mov eax, 0x66000001
shl eax, 8
mov ecx, 0x66000001
shr ecx, 0x18
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
jmp 0x1400572b7
cmp eax, 0x17b
jl 0x140056fe7
jmp 0x140056942
call fcn.140083b46
xor ecx, ecx
shl ecx, 7
xor edx, edx
shr edx, 0x19
or ecx, edx
cmp eax, ecx
jne 0x140056e51
jmp 0x1400569af
mov eax, dword [rsp + 0x24]
jmp 0x140056fc7
cmp eax, 0x182
jge 0x140056cc5
call fcn.1400583f3
mov ecx, 0x50fb1d2e
xor ecx, 0x50fb1d2e
cmp eax, ecx
jne 0x14005743c
jmp 0x140056e85
call fcn.140083f40
mov ecx, 0xb64df8f
add ecx, 0xf49b2071
mov edx, 0x7a167b7f
sub edx, 0x7a167a0f
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x140056caa
jmp 0x140056878
jmp 0x1400572b7
cmp eax, 0x17f
jl 0x140056693
jmp 0x140056bb5
cmp eax, 0x178
jl 0x140056c3b
jmp 0x14005682e
jmp 0x1400572b7
call fcn.140083b84
mov ebx, eax
xor ebp, ebp
shr ebp, 0xa
xor eax, eax
shl eax, 0x16
or ebp, eax
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor edx, edx
call fcn.1400d8c10
mov eax, 0x17c0
shl eax, 0x1c
mov ecx, 0x17c0
shr ecx, 4
or eax, ecx
mov dword [rsp + 0x24], eax
cmp ebx, ebp
jne 0x140056e51
jmp 0x1400572b7
mov eax, 0x5a150531
sub eax, 0x5a1503b2
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0xe0], rax
mov eax, 0x3d72d503
xor eax, 0x3d72d472
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
call fcn.14005886c
xor ecx, ecx
shr ecx, 0x19
xor edx, edx
shl edx, 7
or ecx, edx
mov edx, 0x2da0000
shr edx, 0x11
mov r8d, 0x2da0000
shl r8d, 0xf
or edx, r8d
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x1400569aa
jmp 0x140056a81
test byte [rsp + 0x2f], 1
jne 0x140056b98
jmp 0x1400569f6
cmp eax, 0x166
jl 0x140057740
jmp 0x140056c2b
call fcn.140083b16
mov ecx, 0x833fdfa0
xor ecx, 0x833fdfa0
cmp eax, ecx
jne 0x1400577e8
jmp 0x140057725
cmp eax, 0x181
jl 0x140056cd5
jmp 0x1400568e9
cmp eax, 0x168
jl 0x140057032
jmp 0x14005768c
mov rax, rdi
add rax, 0x10
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rcx, rax
sub rcx, 1
adc rax, 0
mov qword [rsp + 0xe8], rax
mov eax, 0xb0800
shl eax, 0x15
mov ecx, 0xb0800
shr ecx, 0xb
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
mov eax, 0xb800000
shl eax, 0xd
mov ecx, 0xb800000
shr ecx, 0x13
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140056911
cmp eax, 0x183
jl 0x1400568b7
jmp 0x140057642
xor ecx, ecx
sub eax, 0x180
setl cl
lea rax, str.___r_
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140116448]
xor ecx, 0x93e31883
sub rax, rcx
jmp rax
call fcn.140083e06
mov ecx, 0x412b8cb0
sub ecx, 0x412b8cb0
mov r8b, byte [rsp + 0x2a]
mov r9b, byte [rsp + 0x2e]
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 0
mov dl, r10b
and dl, 0
and r8b, bl
mov bpl, r11b
and bpl, 0
and r9b, bl
or dl, r8b
or bpl, r9b
xor dl, bpl
or r10b, r11b
xor r10b, 0xff
or bl, 0
and r10b, bl
or dl, r10b
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x80], r9
cmp eax, ecx
jne 0x14005681b
jmp 0x1400571d2
mov al, byte [rsp + 0x2d]
mov cl, byte [rsp + 0x2c]
or cl, al
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x80], rax
movzx eax, cl
and eax, 1
lea rcx, case.0x140056e4f.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140116518]
rol ecx, 0x10
sub rax, rcx
jmp rax
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor edx, edx
call fcn.1400d8c10
mov eax, 0x931aa52
add eax, 0xf6ce572a
mov dword [rsp + 0x24], eax
jmp 0x1400569af
cmp eax, 0x17e
jl 0x1400566f1
jmp 0x1400568b7
call fcn.140083d40
xor r14d, r14d
test eax, eax
setne r14b
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
lea rbx, [rax + rcx*8]
mov rax, qword [rsp + 0x48]
mov r15, qword [rax]
mov rax, qword [rsp + 0x78]
sub rax, r15
mov qword [rsp + 0x38], rax
mov rax, rdi
add rax, 8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x30]
shl rax, 3
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
add rdx, rax
mov rax, qword [rsp + 0x30]
not rax
add r15, rax
lea r8, [r15*8 + 8]
mov rcx, rbx
call fcn.1400d8570
lea rax, [rbx + r15*8 + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
seta byte [rsp + 0x2b]
mov dword [rsp + 0x24], 0x174
lea rax, str.4_r_
mov rax, qword [rax + r14*8]
mov ecx, dword [0x1401164f8]
rol ecx, 6
sub rax, rcx
jmp rax
cmp eax, 0x16a
jl 0x140056ac5
jmp 0x140057156
cmp eax, 0x163
jl 0x140057794
jmp 0x140056e10
cmp eax, 0x172
jl 0x140056f3b
jmp 0x1400568a7
cmp eax, 0x177
jl 0x140056704
jmp 0x140057007
mov eax, 0x24e8e4cd
sub eax, 0x24e8e360
mov dword [rsp + 0x24], eax
jmp 0x140056816
cmp eax, 0x179
jl 0x14005698a
jmp 0x1400572bc
cmp eax, 0x167
jl 0x14005661c
jmp 0x1400566a3
xor ecx, ecx
sub eax, 0x173
setl cl
lea rax, case.0x14005708f.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140116478]
add ecx, 0x7c9f7ead
movsxd rcx, ecx
sub rax, rcx
jmp rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
mov eax, 0xe000002d
shr eax, 0x1d
mov ecx, 0xe000002d
shl ecx, 3
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140056639
xor ecx, ecx
mov edx, eax
sub edx, 0x16e
setl cl
lea rdx, case.0x14005717a.0
mov rcx, qword [rdx + rcx*8]
mov edx, dword [0x140116490]
rol edx, 6
sub rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x80], rcx
jmp 0x140056cfb
jmp 0x1400572b7
call fcn.140083e74
mov ecx, 0x53f33104
add ecx, 0xac0ccefc
mov rdx, qword [rsp + 0x50]
movabs r8, 0xa06e96902e3e6f79
movabs r9, 0xa06e96902e3e6f71
xor r8, r9
cmp rdx, r8
setb dl
and dl, 1
mov byte [rsp + 0x2a], dl
mov edx, 0x3da5b058
sub edx, 0x3da5aef3
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x1400571f1
jmp 0x140057838
jmp 0x1400568e0
xor ecx, ecx
sub eax, 0x17a
setl cl
lea rax, case.0x1400572dd.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140116460]
rol ecx, 0xd
sub rax, rcx
jmp rax
call fcn.140083c0e
mov ebx, eax
mov ebp, 0x60853ff5
sub ebp, 0x60853ff5
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
movabs rcx, 0xb3d5d1cd7b3dd88d
movabs rdx, 0x4c2a2e3284c22772
xor rcx, rdx
mov rdx, r8
xor rdx, rcx
and rdx, rax
mov rcx, 0xffffffffffffffff
shr rcx, 2
mov r9, 0xffffffffffffffff
shl r9, 0x3e
or rcx, r9
xor rax, rcx
and r8, rax
sub r8, rdx
movabs rcx, 0x4562f075b7f0342e
movabs rax, 0xba9d0f8a480fcbd5
add rcx, rax
shl r8, cl
mov rcx, qword [rsp + 0xd0]
xor edx, edx
call fcn.1400d8c10
mov eax, 0x3040
shl eax, 0x1b
mov ecx, 0x3040
shr ecx, 5
or eax, ecx
mov dword [rsp + 0x24], eax
cmp ebx, ebp
jne 0x1400572df
jmp 0x140057750
cmp eax, 0x165
jl 0x140056ab5
jmp 0x1400577ba
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x30]
shl rax, 3
add rbx, rax
mov rax, qword [rsp + 0x48]
mov r14, qword [rax]
mov rax, qword [rsp + 0x78]
sub rax, r14
mov qword [rsp + 0x38], rax
mov rax, rdi
add rax, 8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x30]
movabs rcx, 0x4702bc05cf743f63
movabs r8, 0xb8fd43fa308bc0a0
add rcx, r8
shl rax, cl
mov qword [rsp + 0x60], rax
add rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
movabs rcx, 0x63dc2423ba5725f3
movabs r8, 0x63dc2423ba5725f4
sub rcx, r8
mov r8, r14
xor r8, rcx
and r8, rax
movabs rcx, 0xd445ba95ff561e64
movabs r9, 0x2bba456a00a9e19b
xor rcx, r9
xor rax, rcx
and r14, rax
sub r14, r8
movabs rcx, 0x600000000
shr rcx, 0x21
movabs rax, 0x600000000
shl rax, 0x1f
or rcx, rax
shl r14, cl
mov rcx, rbx
mov r8, r14
call fcn.1400d8570
add rbx, r14
mov qword [rsp + 0x88], rbx
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x30], rax
seta al
and al, 1
mov byte [rsp + 0x2b], al
mov eax, 0x2e800000
shr eax, 0x15
mov ecx, 0x2e800000
shl ecx, 0xb
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x140056e85
jmp 0x1400572b7
call fcn.140083f11
mov ecx, 0x4d914f53
sub ecx, 0x4d914f53
cmp eax, ecx
jne 0x140056911
jmp 0x140056caa
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov eax, 0x2d20
shl eax, 0x1b
mov ecx, 0x2d20
shr ecx, 5
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400572b7
call fcn.140083e40
mov ecx, 0x281a54af
xor ecx, 0x281a54af
cmp eax, ecx
jne 0x140057838
jmp 0x1400571f6
xor ecx, ecx
sub eax, 0x169
setl cl
lea rax, case.0x1400576b3.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x1401164c0]
add ecx, 0x74e3e63d
movsxd rcx, ecx
sub rax, rcx
jmp rax
cmp eax, 0x17c
jl 0x140056ff4
jmp 0x140056a5e
mov eax, 0x60c000
shr eax, 0xe
mov ecx, 0x60c000
shl ecx, 0x12
or eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1400577e8
cmp eax, 0x164
jl 0x140056f4b
jmp 0x14005742c
jmp 0x1400572b7
jmp 0x1400572b7
xor ecx, ecx
sub eax, 0x162
sete cl
lea rax, case.0x1400577b8.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x1401164d8]
xor ecx, 0x9254da52
sub rax, rcx
jmp rax
call fcn.1400583f3
xor ecx, ecx
shl ecx, 0x17
xor edx, edx
shr edx, 9
or ecx, edx
cmp eax, ecx
jne 0x1400571d2
jmp 0x140056cfb
call fcn.1400583f3
xor ecx, ecx
shr ecx, 0x14
xor edx, edx
shl edx, 0xc
or ecx, edx
mov edx, 0x27c58369
sub edx, 0x27c581e6
mov dword [rsp + 0x24], edx
cmp eax, ecx
jne 0x140057725
jmp 0x14005758f
cmp eax, 0x176
jl 0x14005675d
jmp 0x14005766a
mov eax, 0x58b92071
add eax, 0xa746e0fd
mov dword [rsp + 0x24], eax
jmp 0x14005668e
mov rax, qword [rsp + 0x50]
movabs rcx, 0x16807c8dbf50737e
movabs rdx, 0x16807c8dbf507376
sub rcx, rdx
cmp rax, rcx
setb al
and al, 1
mov byte [rsp + 0x2a], al
mov eax, 0xfe61ad47
xor eax, 0xfe61ac22
mov dword [rsp + 0x24], eax
jmp 0x1400571f6
lea r12d, [rdi + 1]
mov r8d, r12d
shl r8, 2
mov dword [rbp + 0x340], r12d
mov dword [rbp + 0x170], r12d
test r8, r8
je 0x1400d3072
mov ebx, 0x1cc
lea rcx, [rbp + 0x174]
cmp r8, rbx
ja 0x1400d3051
lea rdx, [rbp + 0x344]
call fcn.1400d8570
jmp 0x1400d306b
mov dword [rbp - 0x60], esi
sub esi, r12d
lea rcx, [rbp + 0x344]
mov edi, esi
xor edx, edx
shr edi, 5
lea rbx, [rdi*4]
mov r8, rbx
call fcn.1400d8c10
and esi, 0x1f
mov eax, r15d
mov cl, sil
shl eax, cl
mov dword [rbp + rbx + 0x344], eax
jmp 0x1400d2ef4
mov r8, rbx
xor edx, edx
call fcn.1400d8c10
call fcn.1400bd4bc
mov dword [rax], 0x22
call fcn.1400bdbc0
mov r12d, dword [rbp + 0x170]
mov ecx, dword [rsp + 0x30]
mov eax, 0xcccccccd
test ecx, ecx
js 0x1400d356b
mul ecx
mov eax, edx
lea rdx, [0x140000000]
shr eax, 3
mov dword [rsp + 0x50], eax
mov ecx, eax
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1400d34c9
mov r8d, 0x26
cmp ecx, r8d
mov eax, ecx
cmova eax, r8d
mov dword [rsp + 0x48], eax
dec eax
mov edi, eax
movzx ecx, byte [rdx + rax*4 + 0xde8c2]
movzx esi, byte [rdx + rax*4 + 0xde8c3]
xor edx, edx
lea rbx, [rcx*4]
lea eax, [rsi + rcx]
mov r8, rbx
lea rcx, [rbp + 0x344]
mov dword [rbp + 0x340], eax
call fcn.1400d8c10
lea rcx, [0x140000000]
shl rsi, 2
movzx eax, word [rcx + rdi*4 + 0xde8c0]
lea rdx, [rcx + 0xddfb0]
lea rcx, [rbp + 0x344]
mov r8, rsi
add rcx, rbx
lea rdx, [rdx + rax*4]
call fcn.1400d8570
mov r9d, dword [rbp + 0x340]
cmp r9d, r15d
ja 0x1400d3183
mov eax, dword [rbp + 0x344]
test eax, eax
jne 0x1400d313a
xor r12d, r12d
jmp 0x1400d3252
cmp eax, r15d
je 0x1400d3270
test r12d, r12d
je 0x1400d3270
xor r8d, r8d
mov r10, rax
xor r9d, r9d
mov ecx, dword [rbp + r9*4 + 0x174]
mov eax, r8d
imul rcx, r10
add rcx, rax
mov r8, rcx
mov dword [rbp + r9*4 + 0x174], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r12d
jne 0x1400d3155
jmp 0x1400d322c
cmp r12d, r15d
ja 0x1400d32e0
xchg dword [rcx + rax], edx
invalid
xchg dword [rcx + rax], edx
add byte [rbx + 0x1749d], cl
add byte [rbp - 0x75], cl
ror dword [rcx - 0x3f], 0xe0
add al, byte [rbp - 0x75]
loope 0x1400d31e1
mov ebx, dword [rbp + 0x174]
mov r8, r9
shl r8, 2
mov r12d, r9d
mov dword [rbp + 0x170], r9d
mov dword [rbp + 0x170], ecx
test r8, r8
je 0x1400d31e8
mov eax, 0x1cc
lea rcx, [rbp + 0x174]
cmp r8, rax
ja 0x1400d31c7
lea rdx, [rbp + 0x344]
call fcn.1400d8570
jmp 0x1400d31e1
mov r8, rax
xor edx, edx
call fcn.1400d8c10
call fcn.1400bd4bc
mov dword [rax], 0x22
call fcn.1400bdbc0
mov r12d, dword [rbp + 0x170]
test ebx, ebx
je 0x1400d3132
cmp ebx, r15d
je 0x1400d3270
test r12d, r12d
je 0x1400d3270
xor r8d, r8d
mov r10, rbx
xor r9d, r9d
mov ecx, dword [rbp + r9*4 + 0x174]
mov eax, r8d
imul rcx, r10
add rcx, rax
mov r8, rcx
mov dword [rbp + r9*4 + 0x174], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r12d
jne 0x1400d3203
test r8d, r8d
je 0x1400d3269
cmp dword [rbp + 0x170], 0x73
jae 0x1400d325b
mov eax, dword [rbp + 0x170]
mov dword [rbp + rax*4 + 0x174], r8d
mov r12d, dword [rbp + 0x170]
add r12d, r15d
mov dword [rbp + 0x170], r12d
jmp 0x1400d3270
xor r12d, r12d
xor al, al
mov dword [rbp + 0x170], r12d
jmp 0x1400d3273
mov r12d, dword [rbp + 0x170]
mov al, r15b
test al, al
jne 0x1400d34a6
xor r12d, r12d
mov dword [rbp + 0x170], r12d
mov rsi, qword [rbp - 0x78]
mov rbx, rsi
test r14d, r14d
je 0x1400d39d7
xor r8d, r8d
xor r9d, r9d
mov eax, dword [rbp + r9*4 - 0x5c]
lea rcx, [rax + rax*4]
mov eax, r8d
lea r8, [rax + rcx*2]
mov dword [rbp + r9*4 - 0x5c], r8d
add r9d, r15d
shr r8, 0x20
cmp r9d, r14d
jne 0x1400d329b
test r8d, r8d
je 0x1400d39d7
cmp dword [rbp - 0x60], 0x73
jae 0x1400d39b4
mov eax, dword [rbp - 0x60]
mov dword [rbp + rax*4 - 0x5c], r8d
add dword [rbp - 0x60], r15d
jmp 0x1400d39d7
cmp r9d, r12d
lea rdx, [rbp + 0x174]
mov ebx, r12d
lea rcx, [rbp + 0x344]
cmovae rcx, rdx
lea r8, [rbp + 0x344]
cmovb ebx, r9d
invalid
invalid
mov qword [rsp + 0x58], rcx
setb al
mov dword [rsp + 0x34], ebx
lea rdx, [rbp + 0x174]
cmovae rdx, r8
test al, al
mov qword [rsp + 0x40], rdx
cmovne r9d, r12d
xor r12d, r12d
xor r10d, r10d
mov dword [rbp + 0x510], r12d
test ebx, ebx
je 0x1400d3453
invalid
mov esi, dword [rcx + r10*4]
test esi, esi
jne 0x1400d3363
cmp r10d, r12d
jne 0x1400d3447
and dword [rbp + r10*4 + 0x514], esi
lea r12d, [r10 + 1]
mov dword [rbp + 0x510], r12d
jmp 0x1400d3447
xor r11d, r11d
mov r8d, r10d
test r9d, r9d
je 0x1400d3433
mov ebx, r10d
neg ebx
cmp r8d, 0x73
je 0x1400d33dd
mov edi, r8d
mov ecx, ebx
cmp r8d, r12d
jne 0x1400d3399
and dword [rbp + rdi*4 + 0x514], 0
lea eax, [r8 + 1]
mov dword [rbp + 0x510], eax
mov eax, r8d
add r8d, r15d
add eax, ecx
mov edx, dword [rdx + rax*4]
mov eax, r11d
imul rdx, rsi
add rdx, rax
mov eax, dword [rbp + rdi*4 + 0x514]
add rdx, rax
lea eax, [r8 + rbx]
mov r11, rdx
mov dword [rbp + rdi*4 + 0x514], edx
mov r12d, dword [rbp + 0x510]
shr r11, 0x20
cmp eax, r9d
je 0x1400d33dd
mov rdx, qword [rsp + 0x40]
jmp 0x1400d3377
test r11d, r11d
je 0x1400d342f
cmp r8d, 0x73
je 0x1400d327b
lea eax, [r8 + 1]
mov edx, r8d
cmp r8d, r12d
mov r8d, eax
jne 0x1400d3409
and dword [rbp + rdx*4 + 0x514], 0
mov dword [rbp + 0x510], eax
mov eax, dword [rbp + rdx*4 + 0x514]
mov ecx, r11d
add rcx, rax
mov dword [rbp + rdx*4 + 0x514], ecx
mov r12d, dword [rbp + 0x510]
shr rcx, 0x20
mov r11d, ecx
test ecx, ecx
jne 0x1400d33e2
mov ebx, dword [rsp + 0x34]
cmp r8d, 0x73
je 0x1400d327b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
add r10d, r15d
cmp r10d, ebx
jne 0x1400d333a
mov r8d, r12d
shl r8, 2
mov dword [rbp + 0x170], r12d
test r8, r8
je 0x1400d34a6
mov eax, 0x1cc
lea rcx, [rbp + 0x174]
cmp r8, rax
ja 0x1400d3485
lea rdx, [rbp + 0x514]
call fcn.1400d8570
jmp 0x1400d349f
mov r8, rax
xor edx, edx
call fcn.1400d8c10
call fcn.1400bd4bc
mov dword [rax], 0x22
call fcn.1400bdbc0
mov r12d, dword [rbp + 0x170]
mov ecx, dword [rsp + 0x38]
lea rdx, [0x140000000]
sub ecx, dword [rsp + 0x48]
mov r8d, 0x26
mov dword [rsp + 0x38], ecx
jne 0x1400d30a9
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x30]
lea eax, [rax + rax*4]
add eax, eax
sub ecx, eax
je 0x1400d3285
lea eax, [rcx - 1]
mov eax, dword [rdx + rax*4 + 0xde958]
test eax, eax
je 0x1400d327b
cmp eax, r15d
je 0x1400d3285
test r12d, r12d
je 0x1400d3285
xor r8d, r8d
mov r10d, eax
xor r9d, r9d
mov ecx, dword [rbp + r9*4 + 0x174]
mov eax, r8d
imul rcx, r10
add rcx, rax
mov r8, rcx
mov dword [rbp + r9*4 + 0x174], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r12d
jne 0x1400d3507
test r8d, r8d
je 0x1400d355f
cmp dword [rbp + 0x170], 0x73
jae 0x1400d327b
mov eax, dword [rbp + 0x170]
mov dword [rbp + rax*4 + 0x174], r8d
mov r12d, dword [rbp + 0x170]
add r12d, r15d
jmp 0x1400d327e
mov r12d, dword [rbp + 0x170]
jmp 0x1400d3285
neg ecx
lea r8, [0x140000000]
mul ecx
mov dword [rsp + 0x48], ecx
mov eax, edx
shr eax, 3
mov dword [rsp + 0x40], eax
mov edx, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400d3926
mov ecx, 0x26
cmp edx, ecx
mov eax, edx
cmova eax, ecx
xor edx, edx
mov dword [rsp + 0x50], eax
dec eax
mov edi, eax
movzx ecx, byte [r8 + rax*4 + 0xde8c2]
movzx esi, byte [r8 + rax*4 + 0xde8c3]
lea rbx, [rcx*4]
lea eax, [rsi + rcx]
mov r8, rbx
lea rcx, [rbp + 0x344]
mov dword [rbp + 0x340], eax
call fcn.1400d8c10
lea rcx, [0x140000000]
shl rsi, 2
movzx eax, word [rcx + rdi*4 + 0xde8c0]
lea rdx, [rcx + 0xddfb0]
lea rcx, [rbp + 0x344]
mov r8, rsi
add rcx, rbx
lea rdx, [rdx + rax*4]
call fcn.1400d8570
mov r9d, dword [rbp + 0x340]
cmp r9d, r15d
ja 0x1400d366a
mov eax, dword [rbp + 0x344]
test eax, eax
jne 0x1400d3627
xor r14d, r14d
jmp 0x1400d371b
cmp eax, r15d
je 0x1400d3730
test r14d, r14d
je 0x1400d3730
xor r8d, r8d
mov r10, rax
xor r9d, r9d
mov ecx, dword [rbp + r9*4 - 0x5c]
mov eax, r8d
imul rcx, r10
add rcx, rax
mov r8, rcx
mov dword [rbp + r9*4 - 0x5c], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r14d
jne 0x1400d3642
jmp 0x1400d3701
cmp r14d, r15d
ja 0x1400d374b
mov ebx, dword [rbp - 0x5c]
mov r8, r9
shl r8, 2
mov r14d, r9d
mov dword [rbp - 0x60], r9d
test r8, r8
je 0x1400d36c3
mov eax, 0x1cc
lea rcx, [rbp - 0x5c]
cmp r8, rax
ja 0x1400d36a5
lea rdx, [rbp + 0x344]
call fcn.1400d8570
jmp 0x1400d36bf
mov r8, rax
xor edx, edx
call fcn.1400d8c10
call fcn.1400bd4bc
mov dword [rax], 0x22
call fcn.1400bdbc0
movsd dword [rdi], dword [rsi]
invalid
invalid
movsd dword [rdi], dword [rsi]
invalid
mov r14d, dword [rbp - 0x60]
test ebx, ebx
je 0x1400d361f
cmp ebx, r15d
je 0x1400d3730
test r14d, r14d
je 0x1400d3730
xor r8d, r8d
mov r10, rbx
xor r9d, r9d
mov ecx, dword [rbp + r9*4 - 0x5c]
mov eax, r8d
ror byte [rcx + 0xf], 0xaf
retf 0x348
enter 0xffffffffffff8b4c, 0xffffffffffffffc1
mov dword [rbp + r9*4 - 0x5c], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r14d
jne 0x1400d36de
ror byte [rcx + 0xf], 0xaf
retf 0x348
test r8d, r8d
je 0x1400d372c
cmp dword [rbp - 0x60], 0x73
jae 0x1400d3721
mov eax, dword [rbp - 0x60]
mov dword [rbp + rax*4 - 0x5c], r8d
mov r14d, dword [rbp - 0x60]
add r14d, r15d
mov dword [rbp - 0x60], r14d
jmp 0x1400d3730
xor r14d, r14d
xor al, al
mov dword [rbp - 0x60], r14d
jmp 0x1400d3733
mov r14d, dword [rbp - 0x60]
mov al, r15b
test al, al
jne 0x1400d3900
mov rsi, qword [rbp - 0x78]
and dword [rbp - 0x60], 0
mov rbx, rsi
jmp 0x1400d39d7
cmp r9d, r14d
lea rdx, [rbp - 0x5c]
mov r11d, r14d
lea rcx, [rbp + 0x344]
cmovae rcx, rdx
lea r8, [rbp + 0x344]
cmovb r11d, r9d
mov qword [rbp - 0x70], rcx
setb al
mov dword [rsp + 0x38], r11d
lea rdx, [rbp - 0x5c]
cmovae rdx, r8
test al, al
mov qword [rsp + 0x58], rdx
cmovne r9d, r14d
xor r14d, r14d
xor r10d, r10d
mov dword [rbp + 0x510], r14d
test r11d, r11d
je 0x1400d38b6
mov esi, dword [rcx + r10*4]
test esi, esi
jne 0x1400d37c9
cmp r10d, r14d
jne 0x1400d38aa
and dword [rbp + r10*4 + 0x514], esi
lea r14d, [r10 + 1]
mov dword [rbp + 0x510], r14d
jmp 0x1400d38aa
xor ebx, ebx
mov r8d, r10d
test r9d, r9d
je 0x1400d3897
mov r11d, r10d
neg r11d
cmp r8d, 0x73
je 0x1400d3843
mov edi, r8d
mov ecx, r11d
cmp r8d, r14d
jne 0x1400d3800
and dword [rbp + rdi*4 + 0x514], 0
lea eax, [r8 + 1]
mov dword [rbp + 0x510], eax
mov eax, r8d
add r8d, r15d
add eax, ecx
mov edx, dword [rdx + rax*4]
mov eax, dword [rbp + rdi*4 + 0x514]
imul rdx, rsi
add rdx, rax
mov eax, ebx
add rdx, rax
lea eax, [r11 + r8]
mov rbx, rdx
mov dword [rbp + rdi*4 + 0x514], edx
mov r14d, dword [rbp + 0x510]
shr rbx, 0x20
cmp eax, r9d
je 0x1400d3843
mov rdx, qword [rsp + 0x58]
jmp 0x1400d37dd
test ebx, ebx
je 0x1400d3892
cmp r8d, 0x73
je 0x1400d373b
lea eax, [r8 + 1]
mov edx, r8d
cmp r8d, r14d
mov r8d, eax
jne 0x1400d386e
add dword [rcx - 0x75], eax
rol byte [rbp + 0x3b], 1
mov byte [rbx + rcx*4 - 0x40], 0x75
invalid
and dword [rbp + rdx*4 + 0x514], 0
mov dword [rbp + 0x510], eax
mov ecx, dword [rbp + rdx*4 + 0x514]
mov eax, ebx
add rcx, rax
mov dword [rbp + rdx*4 + 0x514], ecx
mov r14d, dword [rbp + 0x510]
mov esi, dword [rbp + 0x510]
mov esi, dword [rbp + 0x510]
shr rcx, 0x20
mov ebx, ecx
test ecx, ecx
jne 0x1400d3847
mov r11d, dword [rsp + 0x38]
cmp r8d, 0x73
je 0x1400d373b
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rsp + 0x58]
add r10d, r15d
cmp r10d, r11d
jne 0x1400d37a0
mov r8d, r14d
shl r8, 2
mov dword [rbp - 0x60], r14d
test r8, r8
je 0x1400d3900
mov eax, 0x1cc
lea rcx, [rbp - 0x5c]
cmp r8, rax
ja 0x1400d38e2
lea rdx, [rbp + 0x514]
call fcn.1400d8570
jmp 0x1400d38fc
mov r8, rax
xor edx, edx
call fcn.1400d8c10
call fcn.1400bd4bc
mov dword [rax], 0x22
call fcn.1400bdbc0
mov r14d, dword [rbp - 0x60]
mov edx, dword [rsp + 0x34]
lea r8, [0x140000000]
sub edx, dword [rsp + 0x50]
mov ecx, 0x26
mov dword [rsp + 0x34], edx
jne 0x1400d3596
mov ecx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x40]
lea eax, [rax + rax*4]
add eax, eax
sub ecx, eax
je 0x1400d3285
lea eax, [rcx - 1]
mov eax, dword [r8 + rax*4 + 0xde958]
test eax, eax
je 0x1400d373b
cmp eax, r15d
je 0x1400d3285
test r14d, r14d
je 0x1400d3285
xor r8d, r8d
mov r10d, eax
xor r9d, r9d
mov ecx, dword [rbp + r9*4 - 0x5c]
mov eax, r8d
imul rcx, r10
add rcx, rax
mov r8, rcx
mov dword [rbp + r9*4 - 0x5c], ecx
shr r8, 0x20
add r9d, r15d
cmp r9d, r14d
jne 0x1400d3961
test r8d, r8d
je 0x1400d39ab
cmp dword [rbp - 0x60], 0x73
jae 0x1400d373b
mov eax, dword [rbp - 0x60]
mov dword [rbp + rax*4 - 0x5c], r8d
mov r14d, dword [rbp - 0x60]
add r14d, r15d
mov dword [rbp - 0x60], r14d
jmp 0x1400d3285
mov r14d, dword [rbp - 0x60]
jmp 0x1400d3285
and dword [rbp + 0x340], 0
lea r8, [rbp + 0x344]
and dword [rbp - 0x60], 0
lea rcx, [rbp - 0x5c]
xor r9d, r9d
mov edx, 0x1cc
call fcn.1400d2924
lea rdx, [rbp + 0x170]
lea rcx, [rbp - 0x60]
call fcn.1400b5c10
mov edi, dword [rsp + 0x30]
cmp eax, 0xa
jne 0x1400d3a84
add edi, r15d
mov byte [rsi], 0x31
lea rbx, [rsi + 1]
test r12d, r12d
je 0x1400d3a95
xor r8d, r8d
xor r9d, r9d
mov eax, dword [rbp + r9*4 + 0x174]
lea rcx, [rax + rax*4]
mov eax, r8d
lea r8, [rax + rcx*2]
mov dword [rbp + r9*4 + 0x174], r8d
add r9d, r15d
shr r8, 0x20
cmp r9d, r12d
jne 0x1400d3a0d
test r8d, r8d
je 0x1400d3a95
cmp dword [rbp + 0x170], 0x73
jae 0x1400d3a59
mov eax, dword [rbp + 0x170]
mov dword [rbp + rax*4 + 0x174], r8d
add dword [rbp + 0x170], r15d
jmp 0x1400d3a95
and dword [rbp + 0x340], 0
lea r8, [rbp + 0x344]
and dword [rbp + 0x170], 0
lea rcx, [rbp + 0x174]
xor r9d, r9d
mov edx, 0x1cc
call fcn.1400d2924
jmp 0x1400d3a95
test eax, eax
jne 0x1400d3a8d
sub edi, r15d
jmp 0x1400d3a95
add al, 0x30
lea rbx, [rsi + 1]
mov byte [rsi], al
mov rax, qword [rbp - 0x68]
mov dword [rax + 4], edi
mov eax, dword [rsp + 0x60]
test edi, edi
js 0x1400d3ab4
cmp eax, 0x7fffffff
ja 0x1400d3ab4
cmp dword [rsp + 0x64], 0
jne 0x1400d3ab4
add eax, edi
mov edi, eax
mov rax, qword [rbp + 0x758]
dec rax
cmp rax, rdi
cmovb rdi, rax
add rdi, rsi
xor sil, sil
cmp rbx, rdi
je 0x1400d3bc8
mov r14d, 9
mov r9d, dword [rbp - 0x60]
test r9d, r9d
je 0x1400d3bcc
xor r8d, r8d
xor r10d, r10d
mov eax, dword [rbp + r10*4 - 0x5c]
imul rcx, rax, 0x3b9aca00
mov eax, r8d
add rcx, rax
mov r8, rcx
mov dword [rbp + r10*4 - 0x5c], ecx
shr r8, 0x20
add r10d, r15d
cmp r10d, r9d
jne 0x1400d3aef
test r8d, r8d
je 0x1400d3b51
cmp dword [rbp - 0x60], 0x73
jae 0x1400d3b2e
mov eax, dword [rbp - 0x60]
mov dword [rbp + rax*4 - 0x5c], r8d
add dword [rbp - 0x60], r15d
jmp 0x1400d3b51
and dword [rbp + 0x340], 0
lea r8, [rbp + 0x344]
and dword [rbp - 0x60], 0
add byte [rax - 0x73], cl
movsb byte [rdi], byte [rsi]
add byte [rax - 0x73], cl
movsb byte [rdi], byte [rsi]
xor r9d, r9d
mov edx, 0x1cc
call fcn.1400d2924
lea rdx, [rbp + 0x170]
lea rcx, [rbp - 0x60]
call fcn.1400b5c10
mov r10d, edi
mov r8, rax
sub r10d, ebx
mov r9d, 8
mov eax, 0xcccccccd
mul r8d
shr edx, 3
mov cl, dl
shl cl, 2
lea eax, [rcx + rdx]
add al, al
sub r8b, al
lea ecx, [r8 + 0x30]
mov r8d, edx
cmp r10d, r9d
ja 0x1400d3b9e
cmp cl, 0x30
je 0x1400d3ba4
mov sil, r15b
jmp 0x1400d3ba4
mov eax, r9d
mov byte [rax + rbx], cl
or eax, 0xffffffff
add r9d, eax
cmp r9d, eax
jne 0x1400d3b70
mov rax, rdi
sub rax, rbx
cmp rax, r14
cmovg rax, r14
add rbx, rax
cmp rbx, rdi
jne 0x1400d3adc
mov r9d, dword [rbp - 0x60]
mov byte [rbx], 0
test r9d, r9d
jne 0x1400d3bd9
test sil, sil
je 0x1400d3bdc
xor r15d, r15d
mov r8d, dword [rsp + 0x6c]
lea rcx, [rsp + 0x64]
mov edx, dword [rsp + 0x68]
call fcn.1400d6e78
cmp byte [rsp + 0x78], 0
je 0x1400d3c00
lea rcx, [rsp + 0x70]
call fcn.1400d6efc
mov eax, r15d
mov rcx, qword [rbp + 0x6e0]
xor rcx, rsp
call fcn.1400865d0
add rsp, 0x7f0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
invalid
push rsi
push r15
sub rsp, 0x30
mov rdi, qword [rdx]
xor eax, eax
mov r12, r9
mov rbp, r8
mov r15, rdx
mov r14, rcx
test rcx, rcx
je 0x1400d3e3c
mov rbx, rcx
test r8, r8
je 0x1400d3e11
mov r13, qword [rsp + 0x80]
cmp byte [rdi], al
jne 0x1400d3d75
mov r8d, 1
jmp 0x1400d3d91
cmp byte [rdi + 1], al
jne 0x1400d3d82
mov r8d, 2
jmp 0x1400d3d91
mov al, byte [rdi + 2]
neg al
sbb r8, r8
neg r8
add r8, 3
mov r9, r12
mov qword [rsp + 0x20], r13
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.1400d7638
mov rdx, rax
cmp rax, 0xffffffffffffffff
je 0x1400d3e2a
xor eax, eax
test rdx, rdx
je 0x1400d3e22
mov ecx, dword [rsp + 0x60]
cmp ecx, 0xffff
jbe 0x1400d3dfd
cmp rbp, 1
jbe 0x1400d3e11
add ecx, 0xffff0000
mov r8d, 0xd800
mov eax, ecx
mov dword [rsp + 0x60], ecx
shr eax, 0xa
dec rbp
or ax, r8w
mov word [rbx], ax
mov eax, 0x3ff
and cx, ax
add rbx, 2
mov eax, 0xdc00
or cx, ax
xor eax, eax
mov word [rbx], cx
add rdi, rdx
add rbx, 2
sub rbp, 1
jne 0x1400d3d69
sub rbx, r14
mov qword [r15], rdi
sar rbx, 1
mov rax, rbx
jmp 0x1400d3eae
mov rdi, rax
mov word [rbx], ax
jmp 0x1400d3e11
mov qword [r15], rdi
mov byte [r13 + 0x30], 1
mov dword [r13 + 0x2c], 0x2a
jmp 0x1400d3eaa
mov rbp, qword [rsp + 0x80]
mov rbx, rax
cmp byte [rdi], al
jne 0x1400d3e53
mov r8d, 1
jmp 0x1400d3e6f
cmp byte [rdi + 1], al
jne 0x1400d3e60
mov r8d, 2
jmp 0x1400d3e6f
mov al, byte [rdi + 2]
neg al
sbb r8, r8
neg r8
add r8, 3
mov r9, r12
mov qword [rsp + 0x20], rbp
mov rdx, rdi
xor ecx, ecx
call fcn.1400d7638
cmp rax, 0xffffffffffffffff
je 0x1400d3e9f
test rax, rax
je 0x1400d3e1a
cmp rax, 4
jne 0x1400d3e95
inc rbx
add rdi, rax
inc rbx
xor eax, eax
jmp 0x1400d3e47
mov byte [rbp + 0x30], 1
mov dword [rbp + 0x2c], 0x2a
or rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
loop 0x1400d3f85
or r8d, ecx
or r8d, edx
or eax, edx
mov eax, r8d
shl eax, 0x18
or eax, r8d
ret
neg eax
stmxcsr dword [rsp + 8]
sbb eax, eax
and eax, 0x10
or ecx, eax
mov eax, edx
and eax, 4
neg eax
sbb eax, eax
and eax, 8
or ecx, eax
mov eax, edx
and eax, 8
neg eax
sbb eax, eax
and eax, 4
or ecx, eax
mov eax, 0
add byte [rdi], cl
mov edx, 0x920f04e2
rol byte [rbx - 0x37f4df1e], 0xf7
ficomp dword [rbx]
rol byte [rbx - 0x37f4fd20], 0x8b
and al, 8
add byte [rdi], cl
mov edx, 0x920f04e2
rol byte [rbx - 0x37f4df1e], 0xf7
ficomp dword [rbx]
rol byte [rbx - 0x37f4fd20], 0x8b
and al, 8
and eax, 0xffffffc0
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 8], eax
ldmxcsr dword [rsp + 8]
ret