Function at 0x18004ea70
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x450
mov rax, qword [0x180129f90]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov qword [r11 - 0x3b8], rdx
mov qword [r11 - 0x2c8], rdx
xor edi, edi
mov dword [rsp + 0x1b8], edi
mov qword [r11 - 0x278], rdi
mov qword [r11 - 0x268], rdi
mov qword [r11 - 0x260], 0xf
mov byte [rsp + 0x200], dil
mov r12d, 6
mov r8d, r12d
lea rdx, str.client
lea rcx, [r11 - 0x278]
call fcn.180056a60
nop
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1d8], 0xf
mov byte [rsp + 0x1c0], dil
lea r14, str.C:Moon_Executor_
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0x11
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x98]
call fcn.1800483d0
lea esi, [rdi + 3]
mov qword [rsp + 0xb8], rdi
mov r15d, 2
mov edx, r15d
lea rcx, [rsp + 0x98]
call fcn.18005d610
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x50]
call fcn.18005eb40
cmp dword [rax], 1
setbe bl
lea rcx, [rsp + 0x98]
call fcn.1800562e0
test bl, bl
je 0x18004ebfc
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0x11
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1800483d0
lea esi, [rdi + 0xf]
mov qword [rsp + 0x80], rdi
mov edx, r15d
lea rcx, [rsp + 0x60]
call fcn.18005d610
nop
mov qword [rsp + 0x30], rdi
lea rax, [0x180129ef0]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.180057660
cmp dword [rsp + 0x30], edi
jne 0x18004fa78
lea rcx, [rsp + 0x60]
call fcn.1800562e0
mov word [rsp + 0x1b8], 0xa
mov byte [rsp + 0x1ba], 0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov r8d, 1
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x30]
call fcn.180056a60
or esi, 0x30
lea r9, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
cmp r13, 0x10
cmovae r9, r14
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x1d8]
mov rax, rdx
sub rax, rcx
mov r15, qword [rsp + 0x40]
cmp r15, rax
ja 0x18004ecbb
lea rax, [r15 + rcx]
mov qword [rsp + 0x1d0], rax
lea rbx, [rsp + 0x1c0]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x1c0]
add rcx, rbx
mov r8, r15
mov rdx, r9
call fcn.1800a4520
lea rax, [r15 + rbx]
mov rcx, qword [rsp + 0x50]
mov byte [rax + rcx], 0
jmp 0x18004ecdd
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x1c0]
call fcn.1800477d0
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
cmp r13, 0x10
jb 0x18004ed14
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18004ed0c
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004facc
mov rcx, r14
call fcn.180079b68
mov rax, qword [rsp + 0xc0]
mov r14, qword [rax + 0x10]
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x18004ed2d
mov r9, qword [rax]
mov r15, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1d8]
mov rax, rcx
sub rax, r15
cmp r14, rax
ja 0x18004ed83
lea rax, [r14 + r15]
mov qword [rsp + 0x1d0], rax
lea rbx, [rsp + 0x1c0]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x1c0]
lea rcx, [rbx + r15]
mov r8, r14
mov rdx, r9
call fcn.1800a4520
lea rax, [r14 + rbx]
mov byte [rax + r15], 0
jmp 0x18004ed9b
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.1800477d0
mov word [rsp + 0x1b8], 0xa
mov byte [rsp + 0x1ba], 0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov r8d, 1
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x30]
call fcn.180056a60
or esi, 0xc0
lea r9, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
cmp r13, 0x10
cmovae r9, r14
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1d8]
mov rax, rdx
sub rax, rcx
mov r15, qword [rsp + 0x40]
cmp r15, rax
ja 0x18004ee53
lea rax, [rcx + r15]
mov qword [rsp + 0x1d0], rax
lea rbx, [rsp + 0x1c0]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x1c0]
add rbx, rcx
mov r8, r15
mov rdx, r9
mov rcx, rbx
call fcn.1800a4520
mov byte [rbx + r15], 0
jmp 0x18004ee75
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x1c0]
call fcn.1800477d0
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
cmp r13, 0x10
jb 0x18004eeac
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18004eea4
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fad2
mov rcx, r14
call fcn.180079b68
mov qword [rsp + 0x1e0], rdi
mov qword [rsp + 0x1f0], rdi
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], 0
movdqa xmm0, xmmword [0x180100010]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0xfe
mov byte [rsp + 0x42], 1
mov rcx, rdi
nop dword [rax]
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x11
jb 0x18004eef0
mov byte [rsp + 0x42], 0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8d, 0x11
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.180056a60
or esi, 0x300
lea r9, [rsp + 0x60]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
cmp r13, 0x10
cmovae r9, r14
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x1f8]
mov rax, rdx
sub rax, rcx
mov r15, qword [rsp + 0x70]
cmp r15, rax
ja 0x18004efb2
lea rax, [rcx + r15]
mov qword [rsp + 0x1f0], rax
lea rbx, [rsp + 0x1e0]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x1e0]
add rcx, rbx
mov r8, r15
mov rdx, r9
call fcn.1800a4520
mov rax, qword [rsp + 0x50]
add rax, rbx
mov byte [rax + r15], 0
jmp 0x18004efd4
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x1e0]
call fcn.1800477d0
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
cmp r13, 0x10
jb 0x18004f00b
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18004f003
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fad8
mov rcx, r14
call fcn.180079b68
mov r14, qword [rsp + 0x210]
lea r9, [rsp + 0x200]
cmp qword [rsp + 0x218], 0x10
cmovae r9, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x1f8]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x18004f081
lea rax, [rcx + r14]
mov qword [rsp + 0x1f0], rax
lea rbx, [rsp + 0x1e0]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x1e0]
add rbx, rcx
mov r8, r14
mov rdx, r9
mov rcx, rbx
call fcn.1800a4520
mov byte [r14 + rbx], 0
jmp 0x18004f099
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x1e0]
call fcn.1800477d0
mov dword [rsp + 0x1b8], 0xf4e1ffbc
mov word [rsp + 0x1bc], 0x100
mov rcx, rdi
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x1b8], al
inc rcx
cmp rcx, 4
jb 0x18004f0b1
mov byte [rsp + 0x1bd], 0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8d, 4
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x60]
call fcn.180056a60
or esi, 0xc00
lea r9, [rsp + 0x60]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
cmp r13, 0x10
cmovae r9, r14
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x1f8]
mov rax, rdx
sub rax, rcx
mov r15, qword [rsp + 0x70]
cmp r15, rax
ja 0x18004f172
lea rax, [rcx + r15]
mov qword [rsp + 0x1f0], rax
lea rbx, [rsp + 0x1e0]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x1e0]
add rbx, rcx
mov r8, r15
mov rdx, r9
mov rcx, rbx
call fcn.1800a4520
mov byte [rbx + r15], 0
jmp 0x18004f194
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x1e0]
call fcn.1800477d0
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
cmp r13, 0x10
jb 0x18004f1cb
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18004f1c3
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fade
mov rcx, r14
call fcn.180079b68
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x220]
call fcn.1800a4bd0
lea r14, [0x1800fd2d0]
mov qword [rsp + 0x220], r14
mov qword [rsp + 0x2d0], rdi
mov qword [rsp + 0x2f8], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x300], xmm0
bts esi, 0xc
mov dword [rsp + 0x1b8], esi
lea r15, [0x1800fcfb0]
mov qword [rsp + 0x2c8], r15
mov dword [rsp + 0x2c4], 0x98
xor r8d, r8d
lea rdx, [rsp + 0x228]
lea rcx, [rsp + 0x2c8]
call fcn.18005c940
nop
mov rax, qword [rsp + 0x220]
movsxd rcx, dword [rax + 4]
lea r13, [0x1800fd2c8]
mov qword [rsp + rcx + 0x220], r13
mov rax, qword [rsp + 0x220]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x21c], edx
lea rcx, [rsp + 0x228]
call fcn.180048c80
nop
lea rdx, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 0x10
cmovae rdx, qword [rsp + 0x1e0]
mov ebx, 2
lea r9d, [rbx + 0x3e]
mov r8d, ebx
lea rcx, [rsp + 0x220]
call fcn.18005cff0
lea rdx, [rsp + 0x1c0]
cmp qword [rsp + 0x1d8], 0x10
cmovae rdx, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1d0]
lea rcx, [rsp + 0x220]
call fcn.180046f90
lea rcx, [rsp + 0x228]
call fcn.180056e80
test rax, rax
jne 0x18004f33c
mov rax, qword [rsp + 0x220]
movsxd rcx, dword [rax + 4]
cmp qword [rsp + rcx + 0x268], 0
cmovne r12d, ebx
or r12d, dword [rsp + rcx + 0x230]
and r12d, 0x17
mov dword [rsp + rcx + 0x230], r12d
mov eax, dword [rsp + rcx + 0x234]
and eax, r12d
jne 0x18004fae4
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x330]
call fcn.1800a4bd0
mov qword [rsp + 0x330], r14
mov qword [rsp + 0x3e0], rdi
mov qword [rsp + 0x408], rdi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x410], xmm0
bts esi, 0xe
mov dword [rsp + 0x1b8], esi
mov qword [rsp + 0x3d8], r15
mov dword [rsp + 0x3d4], 0x98
xor r8d, r8d
lea rdx, [rsp + 0x338]
lea rcx, [rsp + 0x3d8]
call fcn.18005c940
nop
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x330], r13
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x32c], edx
lea rcx, [rsp + 0x338]
call fcn.180048c80
nop
movdqa xmm0, xmmword [0x180100010]
movdqu xmmword [rsp + 0x98], xmm0
movdqa xmm1, xmmword [0x1800fff00]
movdqu xmmword [rsp + 0xa8], xmm1
mov byte [rsp + 0xb8], 1
mov rcx, rdi
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x98], al
inc rcx
cmp rcx, 0x1f
jb 0x18004f420
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8d, 0x1f
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x60]
call fcn.180056a60
nop
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
mov r9d, 0x40
mov r8d, ebx
lea rcx, [rsp + 0x330]
call fcn.18005cff0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18004f4d1
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f4cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fb3c
call fcn.180079b68
mov dword [rsp + 0x30], 0xf0f9f2f5
mov dword [rsp + 0x34], 0xedffb0b6
mov dword [rsp + 0x38], 0x97bbaefb
mov word [rsp + 0x3c], 0x100
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xc
jb 0x18004f500
mov byte [rsp + 0x3d], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x330]
call fcn.180046340
movdqa xmm0, xmmword [0x1800ffef0]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x40], 1
mov rcx, rdi
nop dword [rax]
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xf
jb 0x18004f540
mov byte [rsp + 0x40], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x330]
call fcn.180046340
lea rdx, [rsp + 0x200]
cmp qword [rsp + 0x218], 0x10
cmovae rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x210]
lea rcx, [rsp + 0x330]
call fcn.180046f90
mov dword [rsp + 0x1b8], 0xf4e1ffbc
mov dword [rsp + 0x1bc], 0x1009db1
mov rcx, rdi
nop
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x1b8], al
inc rcx
cmp rcx, 6
jb 0x18004f5b0
mov byte [rsp + 0x1bf], 0
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x330]
call fcn.180046340
movdqa xmm0, xmmword [0x180100020]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0xcbc5c6ce
mov word [rsp + 0x44], 0x81
mov byte [rsp + 0x46], 1
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx - 0x6e]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x15
jb 0x18004f610
mov byte [rsp + 0x46], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x330]
call fcn.180046340
lea rcx, [rsp + 0x330]
call fcn.180056f80
nop
mov qword [rsp + 0x1b8], rdi
mov rax, qword [0x18012c7d0]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x58]
mov qword [rsp + 0x90], rdi
lea rcx, [rsp + 0x98]
call fcn.18005dc00
nop
lea r9, [rsp + 0x90]
mov r8, rax
lea rdx, [rsp + 0x1b8]
mov rcx, qword [0x18012c7d0]
call rbx
nop
mov rdx, qword [rsp + 0xb0]
cmp rdx, 0x10
jb 0x18004f6d1
inc rdx
mov rcx, qword [rsp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f6cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fb42
call fcn.180079b68
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], 0xf
mov byte [rsp + 0x98], 0
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18004f716
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x90]
test al, al
cmovne rcx, rdi
mov qword [rsp + 0x90], rcx
mov ecx, 0x30
call fcn.18007a4f8
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x18004f786
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov dword [rax + 8], edi
lea rax, [0x1800fd0a8]
mov qword [rbx], rax
lea rax, [0x1800fd0c8]
mov qword [rbx + 0x10], rax
lea rsi, [rbx + 0x20]
mov qword [rsp + 0x88], rsi
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov ecx, 0xd8
call fcn.18007a4f8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsi], rax
jmp 0x18004f789
mov rbx, rdi
mov rsi, qword [rsp + 0x1b8]
add rsi, 0x10
mov qword [rsp + 0x88], rbx
test rbx, rbx
je 0x18004f7b3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rbx, qword [rsp + 0x88]
lea rax, [rsp + 0x88]
mov qword [rsp + 0xc8], rax
lea rcx, [rbx + 0x10]
test rbx, rbx
cmove rcx, rdi
mov rax, qword [rcx]
lea rdx, [rsi - 0x10]
test rsi, rsi
cmove rdx, rdi
call qword [rax]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
mov rsi, qword [rax]
mov qword [rsp + 0x50], rsi
test rsi, rsi
je 0x18004f801
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
mov rsi, qword [rsp + 0x50]
lea rax, [rsp + 0x50]
mov qword [rsp + 0xd0], rax
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x18004f82a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov r14, qword [0x18012c820]
mov rcx, rsi
call fcn.18004e9a0
mov rax, qword [rsi + 0x10]
lea rsi, [rax + r14*8]
mov rcx, qword [rsi]
test rcx, rcx
je 0x18004f84f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi], rbx
test rbx, rbx
je 0x18004f861
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
test rbx, rbx
je 0x18004f870
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18004f881
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x18004f895
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rbx, qword [rsp + 0x1b8]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov r8d, 0x10
lea rdx, str.C:Moon_Executor
lea rcx, [rsp + 0x60]
call fcn.180056a60
nop
mov rax, qword [rbx]
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, rbx
call qword [rax + 0x38]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18004f91c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f917
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004fb48
call fcn.180079b68
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [rcx]
call qword [rax + 0x48]
nop
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x18004f94d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rbx, qword [rsp + 0xc0]
jmp 0x18004f961
lea rcx, [rsp + 0x330]
call fcn.18004dbd0
nop
lea rcx, [rsp + 0x220]
call fcn.18004dbd0
nop
mov r8, qword [rsp + 0x1f8]
cmp r8, 0x10
jb 0x18004f9a3
inc r8
mov rdx, qword [rsp + 0x1e0]
lea rcx, [rsp + 0x1e0]
call fcn.180058140
mov qword [rsp + 0x1f0], rdi
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], 0
mov r8, qword [rsp + 0x1d8]
cmp r8, 0x10
jb 0x18004f9e5
inc r8
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x1c0]
call fcn.180058140
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1d8], 0xf
mov byte [rsp + 0x1c0], 0
mov r8, qword [rsp + 0x218]
cmp r8, 0x10
jb 0x18004fa27
inc r8
mov rdx, qword [rsp + 0x200]
lea rcx, [rsp + 0x200]
call fcn.180058140
mov qword [rsp + 0x210], rdi
mov qword [rsp + 0x218], 0xf
mov byte [rsp + 0x200], 0
mov rcx, rbx
call fcn.18004a920
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.180079c80
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, [rsp + 0x30]
call fcn.18005f3d0
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.1800487c0
nop
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.180049c90
lea rdx, [0x1801266c8]
lea rcx, [rsp + 0x100]
call fcn.1800a5198
nop
call fcn.1800b88ac
int3
call fcn.1800b88ac
nop
call fcn.1800b88ac
int3
call fcn.1800b88ac
nop
test al, 4
je 0x18004faf1
lea rbx, str.ios_base::badbit_set
jmp 0x18004fb05
test bl, al
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.18005cba0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xd8]
call fcn.180049b10
lea rdx, [0x180126650]
lea rcx, [rsp + 0xd8]
call fcn.1800a5198
nop
call fcn.1800b88ac
nop
call fcn.1800b88ac
nop
call fcn.1800b88ac
int3