Function at 0x140004760
Capabilities:
Access peb ldr_data
Encode data using xor
Encrypt data using xtea
Execute anti-debugging instructions
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov ecx, 0x2f0
call fcn.14000d790
mov rdi, rax
mov qword [rbp - 0x10], rax
movabs rsi, 0x5c287456ae6d519c
mov ebx, 0x40
movabs r12, 0x58f0a0e02ecd7e93
movabs r13, 0xc0d5ff05dcdee118
test rax, rax
je 0x1400059c6
mov rcx, rax
call fcn.14000e380
lea rax, [0x1400c6a90]
mov qword [rdi], rax
xor r14d, r14d
mov qword [rdi + 0x238], r14
mov rax, qword [rbp + 0x88]
imul r15, rax, 0x34124c
add r15, qword [0x1401c5100]
mov r11d, r15d
mov dword [rdi + 0x258], r11d
lea r8, [r11 + rsi]
mov qword [rdi + 0x248], r8
mov r10d, r15d
neg r10d
mov esi, r15d
and esi, 0x3f
mov ecx, ebx
mov r9, r8
test r15d, r15d
jle 0x140004838
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x14000484f
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
imul r9, r12
mov qword [rdi + 0x250], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004894
test r10d, r10d
jle 0x140004880
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x1400048c1
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x1400048c4
test r11d, r11d
jle 0x1400048ad
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x1400048c4
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r9, r8
mov qword [rdi + 0x240], r9
mov rax, qword [rbp + 0x88]
imul r12, rax, 0x34124c
add r12, r15
mov r11d, r12d
mov dword [rdi + 0x274], r11d
movabs r8, 0xb9f2d791c2b1f622
add r8, r11
mov qword [rdi + 0x264], r8
mov r10d, r12d
neg r10d
mov esi, r12d
and esi, 0x3f
mov ecx, ebx
mov r9, r8
test r12d, r12d
jle 0x140004927
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x14000493e
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
imul r9, r13
mov qword [rdi + 0x26c], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004983
test r10d, r10d
jle 0x14000496f
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x1400049b0
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x1400049b3
test r11d, r11d
jle 0x14000499c
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x1400049b3
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r9, r8
mov qword [rdi + 0x25c], r9
mov rax, qword [rbp + 0x88]
imul r15, rax, 0x34124c
add r15, r12
mov r11d, r15d
mov dword [rdi + 0x290], r11d
movabs r8, 0x90faf61dec158268
add r8, r11
mov qword [rdi + 0x280], r8
mov r10d, r15d
neg r10d
mov esi, r15d
and esi, 0x3f
mov ecx, ebx
mov r9, r8
test r15d, r15d
jle 0x140004a16
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x140004a2d
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
movabs rax, 0x1460c772614a9cc1
imul r9, rax
mov qword [rdi + 0x288], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004a7c
test r10d, r10d
jle 0x140004a68
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x140004aa9
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x140004aac
test r11d, r11d
jle 0x140004a95
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x140004aac
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r9, r8
mov qword [rdi + 0x278], r9
mov rax, qword [rbp + 0x88]
imul r12, rax, 0x34124c
add r12, r15
mov r11d, r12d
mov dword [rdi + 0x2ac], r11d
movabs r8, 0x2904f9b78fdf344
add r8, r11
mov qword [rdi + 0x29c], r8
mov r10d, r12d
neg r10d
mov esi, r12d
and esi, 0x3f
mov ecx, ebx
mov r9, r8
test r12d, r12d
jle 0x140004b0f
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x140004b26
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
movabs rax, 0x412d097781a5c77f
imul r9, rax
mov qword [rdi + 0x2a4], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004b75
test r10d, r10d
jle 0x140004b61
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x140004ba2
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x140004ba5
test r11d, r11d
jle 0x140004b8e
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x140004ba5
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r9, r8
mov qword [rdi + 0x294], r9
mov rax, qword [rbp + 0x88]
imul r15, rax, 0x34124c
add r15, r12
mov r11d, r15d
mov dword [rdi + 0x2c8], r11d
movabs r8, 0xc45d9e27812d62a
add r8, r11
mov qword [rdi + 0x2b8], r8
mov r10d, r15d
neg r10d
mov esi, r15d
and esi, 0x3f
mov ecx, ebx
mov r9, r8
test r15d, r15d
jle 0x140004c08
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x140004c1f
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
movabs rax, 0xca3771ca6c27bdd4
imul r9, rax
mov qword [rdi + 0x2c0], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004c6e
test r10d, r10d
jle 0x140004c5a
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x140004c9b
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x140004c9e
test r11d, r11d
jle 0x140004c87
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x140004c9e
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r8, r9
mov qword [rdi + 0x2b0], r8
mov rax, qword [rbp + 0x88]
imul rcx, rax, 0x34124c
add rcx, r15
mov qword [0x1401c5100], rcx
mov r11d, ecx
mov dword [rdi + 0x2e4], r11d
movabs r8, 0x6c9e92b67f048750
add r8, r11
mov qword [rdi + 0x2d4], r8
mov r10d, ecx
neg r10d
mov esi, ecx
and esi, 0x3f
mov r9, r8
test ecx, ecx
mov ecx, ebx
jle 0x140004d06
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r9, cl
or r9, rax
jmp 0x140004d1d
mov eax, r10d
and eax, 0x3f
sub ecx, eax
mov rdx, r8
shl rdx, cl
movzx ecx, al
shr r9, cl
or r9, rdx
movabs rax, 0xfc9d3009b422e5ad
imul r9, rax
mov qword [rdi + 0x2dc], r9
mov ecx, ebx
cmp r11d, 0x7fffffff
jb 0x140004d6c
test r10d, r10d
jle 0x140004d58
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shr rdx, cl
movzx ecx, r10b
shl r8, cl
jmp 0x140004d99
sub ecx, esi
mov rax, r8
shl rax, cl
movzx ecx, sil
shr r8, cl
or r8, rax
jmp 0x140004d9c
test r11d, r11d
jle 0x140004d85
sub ecx, esi
mov rax, r8
shr rax, cl
movzx ecx, sil
shl r8, cl
or r8, rax
jmp 0x140004d9c
and r10d, 0x3f
sub ecx, r10d
mov rdx, r8
shl rdx, cl
movzx ecx, r10b
shr r8, cl
or r8, rdx
xor r8, r9
mov qword [rdi + 0x2cc], r8
mov byte [rdi + 0x2e8], r14b
rdtsc
shl rdx, 0x20
or rax, rdx
mov r8, rax
mov edx, 0x10
lea rcx, [0x1401c50d8]
call fcn.14002f400
rdtsc
shl rdx, 0x20
or rax, rdx
mov r8, rax
mov edx, 0x10
lea rcx, [0x1401c50e8]
call fcn.14002f400
movups xmm2, xmmword [0x1401c50d8]
movaps xmmword [rbp - 0x80], xmm2
mov esi, r14d
mov r12d, r14d
lea r11, str.DXBC
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movd r13d, xmm0
movdqa xmm1, xmm2
psrldq xmm1, 8
movd dword [rbp + 0xa0], xmm1
movdqa xmm0, xmm2
psrldq xmm0, 4
movd dword [rbp + 0x90], xmm0
movd r15d, xmm2
nop dword [rax]
nop dword [rax + rax]
movdqa xmmword [rsp + 0x60], xmm2
mov r9d, dword [r11]
mov r10d, dword [r11 + 4]
mov r8d, r14d
mov ebx, 4
nop word [rax + rax]
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
sub rbx, 1
jne 0x140004e60
mov dword [r11], r9d
mov dword [r11 + 4], r10d
add r15d, r12d
mov dword [rbp - 0x80], r15d
mov eax, dword [rbp + 0x90]
add eax, r15d
mov dword [rbp + 0x90], eax
mov dword [rbp - 0x7c], eax
mov ecx, dword [rbp + 0xa0]
add ecx, eax
mov dword [rbp + 0xa0], ecx
mov dword [rbp - 0x78], ecx
add r13d, esi
mov dword [rbp - 0x74], r13d
inc esi
add r12d, 0x29c
add r11, 8
cmp esi, 0x53
jae 0x1400053cd
movaps xmm2, xmmword [rbp - 0x80]
jmp 0x140004e40
movups xmm2, xmmword [0x1401c50e8]
movaps xmmword [rbp - 0x80], xmm2
mov esi, r14d
mov r12d, r14d
lea r11, str.DXBCSV_ve
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movd r13d, xmm0
movdqa xmm1, xmm2
psrldq xmm1, 8
movd dword [rbp + 0xa0], xmm1
movdqa xmm0, xmm2
psrldq xmm0, 4
movd dword [rbp + 0x90], xmm0
movd r15d, xmm2
mov ebx, 0x40
nop
movdqa xmmword [rsp + 0x60], xmm2
mov r9d, dword [r11]
mov r10d, dword [r11 + 4]
mov r8d, r14d
mov edi, 4
nop word [rax + rax]
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
mov edx, r10d
shr edx, 5
mov eax, r10d
shl eax, 4
xor edx, eax
add edx, r10d
mov eax, r8d
and eax, 3
mov ecx, dword [rsp + rax*4 + 0x60]
add ecx, r8d
xor edx, ecx
add r9d, edx
add r8d, 0x9e3779b9
mov ecx, r9d
shr ecx, 5
mov eax, r9d
shl eax, 4
xor ecx, eax
add ecx, r9d
mov eax, r8d
shr rax, 0xb
and eax, 3
mov eax, dword [rsp + rax*4 + 0x60]
add eax, r8d
xor ecx, eax
add r10d, ecx
sub rdi, 1
jne 0x140005440
mov dword [r11], r9d
mov dword [r11 + 4], r10d
add r15d, r12d
mov dword [rbp - 0x80], r15d
mov eax, dword [rbp + 0x90]
add eax, r15d
mov dword [rbp + 0x90], eax
mov dword [rbp - 0x7c], eax
mov ecx, dword [rbp + 0xa0]
add ecx, eax
mov dword [rbp + 0xa0], ecx
mov dword [rbp - 0x78], ecx
add r13d, esi
mov dword [rbp - 0x74], r13d
inc esi
add r12d, 0x4d0
add r11, 8
cmp esi, 0x9a
jae 0x1400059b0
movaps xmm2, xmmword [rbp - 0x80]
jmp 0x140005420
cmp qword [0x1401c50d0], r14
mov rdi, qword [rbp - 0x10]
jne 0x1400059cc
xor ecx, ecx
call fcn.14001f0f0
jmp 0x1400059cc
xor r14d, r14d
mov edi, r14d
mov qword [0x1401c3088], rdi
mov rax, qword [0x1401c5120]
mov qword [rax + 0x238], rdi
mov dword [rax + 0x240], r14d
mov dword [rax + 0x244], 0x41b80000
mov esi, r14d
mov r13d, 0xd308365c
mov r12d, r13d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x140005a73
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140005a6a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140005a40
cmp r10d, esi
jne 0x140005c0a
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x140005c17
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0xa0], rcx
mov r15d, edx
add r15, rdi
cmp r15, rdi
je 0x140005c0a
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x140005c0a
mov ecx, dword [r15 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rcx + r11*4]
mov r9d, dword [rcx + rdi]
add r9, rdi
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140005b0b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140005ae0
cmp r10d, r12d
je 0x140005b21
test r11d, r11d
mov ecx, dword [r15 + 0x20]
jne 0x140005ac0
mov rax, qword [rax]
jmp 0x140005a10
mov ecx, dword [r15 + 0x24]
add rcx, rdi
movzx edx, word [rcx + r11*2]
mov ecx, dword [r15 + 0x1c]
add rcx, rdi
mov r8d, dword [rcx + rdx*4]
add r8, rdi
cmp r8, r15
jbe 0x140005c12
mov rax, qword [rbp + 0xa0]
add rax, r15
cmp r8, rax
jae 0x140005c12
mov esi, 0x811c9dc5
mov dword [rbp + 0x90], esi
mov r9d, esi
mov dword [rbp + 0x94], esi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140005bab
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x140005b80
mov dword [rbp + 0x90], esi
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x140005bee
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x140005bc0
mov dword [rbp + 0x94], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r12, qword [rbp + 0x90]
shr r12, 0x20
mov rax, qword [rax]
jmp 0x140005a10
xor r14d, r14d
jmp 0x140005c1d
xor r14d, r14d
mov r8d, r14d
mov edx, 0x7f00
xor ecx, ecx
call r8
mov esi, r14d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x140005ca3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140005c9a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140005c70
cmp r10d, esi
jne 0x140005e2a
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x140005e37
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0xa0], rcx
mov r15d, edx
add r15, rdi
cmp r15, rdi
je 0x140005e2a
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x140005e2a
mov r12d, dword [r15 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [r12 + r11*4]
mov r9d, dword [rcx + rdi]
add r9, rdi
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140005d3b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140005d10
cmp r10d, r13d
je 0x140005d4d
test r11d, r11d
jne 0x140005cf0
mov rax, qword [rax]
jmp 0x140005c40
mov ecx, dword [r15 + 0x24]
add rcx, rdi
movzx edx, word [rcx + r11*2]
mov ecx, dword [r15 + 0x1c]
add rcx, rdi
mov r8d, dword [rcx + rdx*4]
add r8, rdi
cmp r8, r15
jbe 0x140005e32
mov rax, qword [rbp + 0xa0]
add rax, r15
cmp r8, rax
jae 0x140005e32
mov esi, 0x811c9dc5
mov dword [rbp + 0x90], esi
mov r9d, esi
mov dword [rbp + 0x94], esi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140005dcb
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x140005da0
mov dword [rbp + 0x90], esi
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x140005e0e
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x140005de0
mov dword [rbp + 0x94], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13, qword [rbp + 0x90]
shr r13, 0x20
mov rax, qword [rax]
jmp 0x140005c40
xor r14d, r14d
jmp 0x140005e3d
xor r14d, r14d
mov r8d, r14d
mov edx, 0x7f01
xor ecx, ecx
call r8
mov rdi, qword [rbp + 0x98]
mov qword [0x1401c3098], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
mov qword [rbp - 0x20], 2
mov dword [rbp - 0x38], 2
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x50], 0x1c
mov dword [rbp - 0x58], 0x3c
mov dword [rbp - 0x54], 1
mov dword [rbp - 0x3c], 0x20
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x44], 1
mov qword [rbp - 0x28], 1
lea rax, [0x1401c30a8]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x50], rax
lea rax, [0x1401c3090]
mov qword [rsp + 0x48], rax
lea rax, [0x1401c3080]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
mov rcx, qword [0x1401c3080]
test eax, eax
jne 0x140006c16
mov qword [rbp + 0x90], r14
mov rax, qword [rcx]
mov r9, qword [rax + 0x30]
lea r8, [rbp + 0x90]
lea rdx, [0x1400bca28]
call r9
test eax, eax
js 0x140005f62
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
mov r8d, 3
mov rdx, rdi
call qword [rax + 0x40]
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x1401c3080]
mov rax, qword [rcx]
lea r9, [rbp + 0xa8]
lea r8, [0x1400bca38]
xor edx, edx
call qword [rax + 0x48]
mov r11, qword [rbp + 0xa8]
mov rdi, qword [0x1401c3088]
mov rax, qword [rbp + 0x88]
imul r9, rax, 0x34124c
add r9, qword [0x1401c5100]
mov qword [0x1401c5100], r9
mov dword [rdi + 0x258], r9d
mov r12d, r9d
neg r12d
mov eax, r9d
and eax, 0x3f
mov r15d, eax
mov edx, r12d
and edx, 0x3f
mov ecx, ebx
mov r8, r11
test r12d, r12d
jle 0x140005fdf
sub ecx, edx
shr r8, cl
movzx ecx, dl
mov rax, r11
shl rax, cl
jmp 0x140005fed
sub ecx, eax
shl r8, cl
movzx ecx, al
mov rax, r11
shr rax, cl
or r8, rax
mov rsi, rdx
mov edx, r9d
movabs rax, 0x5c287456ae6d519c
add rdx, rax
xor rdx, r8
mov qword [rdi + 0x248], rdx
mov r10d, ebx
sub r10d, esi
mov r8, rdx
test r9d, r9d
jle 0x140006036
mov eax, r9d
and eax, 0x3f
mov r15d, eax
mov ecx, ebx
sub ecx, eax
shr r8, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
jmp 0x140006045
mov ecx, r10d
shl r8, cl
mov rax, rdx
mov rcx, rsi
shr rax, cl
or r8, rax
movabs rax, 0x58f0a0e02ecd7e93
imul r8, rax
mov qword [rdi + 0x250], r8
xor rdx, r11
mov rax, rdx
cmp r9d, 0x7fffffff
jb 0x14000608a
test r12d, r12d
jle 0x14000607c
mov rcx, rsi
shl rax, cl
mov ecx, r10d
jmp 0x1400060a9
mov ecx, ebx
sub ecx, r15d
shl rax, cl
movzx ecx, r15b
jmp 0x1400060a9
test r9d, r9d
jle 0x1400060a0
mov ecx, ebx
sub ecx, r15d
shr rax, cl
movzx ecx, r15b
shl rdx, cl
jmp 0x1400060ac
mov ecx, r10d
shl rax, cl
mov rcx, rsi
shr rdx, cl
or rax, rdx
xor r8, rax
mov qword [rdi + 0x240], r8
mov qword [rbp + 0x90], r14
mov rax, qword [r11]
lea rdx, [rbp + 0x90]
mov rcx, r11
call qword [rax + 0x18]
mov rax, qword [rbp + 0x88]
imul r8, rax, 0x34124c
add r8, qword [0x1401c5100]
mov qword [0x1401c5100], r8
mov dword [rdi + 0x274], r8d
mov r12d, r8d
neg r12d
mov eax, r8d
and eax, 0x3f
mov r15d, eax
mov r10d, r12d
and r10d, 0x3f
mov ecx, ebx
mov r9, qword [rbp + 0x90]
mov rdx, r9
test r12d, r12d
jle 0x14000612c
sub ecx, r10d
shr rdx, cl
movzx ecx, r10b
mov rax, r9
shl rax, cl
jmp 0x14000613a
sub ecx, eax
shl rdx, cl
movzx ecx, al
mov rax, r9
shr rax, cl
or rdx, rax
mov rsi, r10
mov r11d, r8d
movabs rax, 0x460d286e3d4e09de
sub r11, rax
xor r11, rdx
mov qword [rdi + 0x264], r11
mov r10d, ebx
sub r10d, esi
mov rdx, r11
test r8d, r8d
jle 0x14000617d
mov eax, r8d
and eax, 0x3f
mov r15d, eax
mov ecx, ebx
sub ecx, eax
shr rdx, cl
movzx ecx, al
jmp 0x140006186
mov rcx, rsi
shr rdx, cl
mov ecx, r10d
mov rax, r11
shl rax, cl
or rdx, rax
movabs rax, 0xc0d5ff05dcdee118
imul rdx, rax
mov qword [rdi + 0x26c], rdx
mov rax, r11
xor rax, r9
mov r9, rax
cmp r8d, 0x7fffffff
jb 0x14000621c
test r12d, r12d
jle 0x1400061c6
mov rcx, rsi
shl r9, cl
mov ecx, r10d
jmp 0x1400061d2
mov ecx, ebx
sub ecx, r15d
shl r9, cl
movzx ecx, r15b
shr rax, cl
or r9, rax
mov rax, rdx
xor rax, r9
lea rsi, [rdi + 0x25c]
mov qword [rsi], rax
xor rdx, rax
mov ecx, ebx
mov r9, rdx
mov r10d, r8d
test r8d, r8d
jle 0x140006214
mov eax, r8d
and eax, 0x3f
sub ecx, eax
shr r9, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
or r9, rax
neg r10d
jmp 0x140006291
neg r10d
mov eax, r10d
jmp 0x14000627d
test r8d, r8d
jle 0x140006232
mov ecx, ebx
sub ecx, r15d
shr r9, cl
movzx ecx, r15b
shl rax, cl
jmp 0x14000623e
mov ecx, r10d
shl r9, cl
mov rcx, rsi
shr rax, cl
or r9, rax
mov rax, rdx
xor rax, r9
lea rsi, [rdi + 0x25c]
mov qword [rsi], rax
xor rdx, rax
mov r10d, r8d
neg r10d
mov ecx, ebx
mov r9, rdx
test r10d, r10d
jle 0x14000627a
mov eax, r10d
and eax, 0x3f
sub ecx, eax
shr r9, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
jmp 0x14000628e
mov eax, r8d
and eax, 0x3f
sub ecx, eax
shl r9, cl
movzx ecx, al
mov rax, rdx
shr rax, cl
or r9, rax
xor r9, r11
test r9, r9
je 0x140006628
mov qword [rbp + 0xa0], r14
mov ecx, ebx
mov r9, rdx
cmp r8d, 0x7fffffff
jb 0x14000639f
mov eax, r8d
test r8d, r8d
jle 0x1400062d1
and eax, 0x3f
sub ecx, eax
shr r9, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
jmp 0x1400062e4
neg eax
and eax, 0x3f
sub ecx, eax
shl r9, cl
movzx ecx, al
mov rax, rdx
shr rax, cl
or r9, rax
xor r9, r11
mov rax, qword [r9]
mov r9, qword [rax + 0x140]
mov ecx, ebx
test r8d, r8d
jle 0x140006313
and r8d, 0x3f
mov eax, r8d
sub ecx, r8d
mov r8, rdx
shr r8, cl
movzx ecx, al
shl rdx, cl
jmp 0x14000632c
neg r8d
and r8d, 0x3f
mov eax, r8d
sub ecx, r8d
mov r8, rdx
shl r8, cl
movzx ecx, al
shr rdx, cl
or r8, rdx
xor r8, r11
lea rdx, [rbp + 0xa0]
mov rcx, r8
call r9
mov rax, qword [rbp + 0x88]
imul r8, rax, 0x34124c
add r8, qword [0x1401c5100]
mov qword [0x1401c5100], r8
mov dword [rdi + 0x290], r8d
mov ecx, r8d
neg ecx
mov dword [rbp + 0x98], ecx
mov eax, r8d
and eax, 0x3f
mov r13d, eax
mov r9d, ecx
and r9d, 0x3f
mov r10, qword [rbp + 0xa0]
mov rdx, r10
test ecx, ecx
mov ecx, ebx
jle 0x140006403
sub ecx, r9d
shr rdx, cl
movzx ecx, r9b
mov rax, r10
shl rax, cl
jmp 0x140006411
mov rax, rdx
test r10d, r10d
jle 0x1400063ba
and r10d, 0x3f
sub ecx, r10d
shr r9, cl
movzx ecx, r10b
shl rax, cl
jmp 0x1400063ce
neg r10d
and r10d, 0x3f
sub ecx, r10d
shl r9, cl
movzx ecx, r10b
shr rax, cl
or r9, rax
xor r9, r11
mov rax, qword [r9]
mov r9, qword [rax + 0x140]
mov eax, r8d
neg eax
mov ecx, ebx
test eax, eax
jle 0x140006316
and eax, 0x3f
sub ecx, eax
mov r8, rdx
shr r8, cl
movzx ecx, al
shl rdx, cl
jmp 0x14000632c
sub ecx, eax
shl rdx, cl
movzx ecx, al
mov rax, r10
shr rax, cl
or rdx, rax
mov r12, r9
mov r11d, r8d
movabs rax, 0x6f0509e213ea7d98
sub r11, rax
xor r11, rdx
mov qword [rdi + 0x280], r11
mov r15d, ebx
sub r15d, r9d
mov r9, r11
test r8d, r8d
jle 0x140006454
mov eax, r8d
and eax, 0x3f
mov r13d, eax
mov ecx, ebx
sub ecx, eax
shr r9, cl
movzx ecx, al
jmp 0x14000645d
mov rcx, r12
shr r9, cl
mov ecx, r15d
mov rax, r11
shl rax, cl
or r9, rax
movabs rax, 0x1460c772614a9cc1
imul r9, rax
mov qword [rdi + 0x288], r9
mov rax, r11
xor rax, r10
mov rdx, rax
cmp r8d, 0x7fffffff
jb 0x1400064f1
cmp dword [rbp + 0x98], 0
jle 0x1400064a1
mov rcx, r12
shl rdx, cl
mov ecx, r15d
jmp 0x1400064ad
mov ecx, ebx
sub ecx, r13d
shl rdx, cl
movzx ecx, r13b
shr rax, cl
or rdx, rax
xor rdx, r9
mov qword [rdi + 0x278], rdx
xor rdx, r9
mov ecx, ebx
mov r9, rdx
mov r10d, r8d
test r8d, r8d
jle 0x1400064e9
mov eax, r8d
and eax, 0x3f
sub ecx, eax
shr r9, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
or r9, rax
neg r10d
jmp 0x14000655d
neg r10d
mov eax, r10d
jmp 0x140006549
test r8d, r8d
jle 0x140006504
mov ecx, ebx
sub ecx, r13d
shr rdx, cl
movzx ecx, r13b
jmp 0x14000650d
mov rcx, r12
shr rdx, cl
mov ecx, r15d
shl rax, cl
or rdx, rax
xor rdx, r9
mov qword [rdi + 0x278], rdx
xor rdx, r9
mov r10d, r8d
neg r10d
mov ecx, ebx
mov r9, rdx
test r10d, r10d
jle 0x140006546
mov eax, r10d
and eax, 0x3f
sub ecx, eax
shr r9, cl
movzx ecx, al
mov rax, rdx
shl rax, cl
jmp 0x14000655a
mov eax, r8d
and eax, 0x3f
sub ecx, eax
shl r9, cl
movzx ecx, al
mov rax, rdx
shr rax, cl
or r9, rax
xor r9, r11
test r9, r9
je 0x140006628
mov ecx, ebx
mov r9, rdx
cmp r8d, 0x7fffffff
jb 0x1400065a2
test r8d, r8d
jle 0x14000658f
and r8d, 0x3f
sub ecx, r8d
shr r9, cl
movzx ecx, r8b
shl rdx, cl
jmp 0x1400065ce
neg r8d
and r8d, 0x3f
sub ecx, r8d
shl r9, cl
movzx ecx, r8b
jmp 0x1400065cb
test r10d, r10d
jle 0x1400065ba
and r10d, 0x3f
sub ecx, r10d
shr r9, cl
movzx ecx, r10b
shl rdx, cl
jmp 0x1400065ce
neg r10d
and r10d, 0x3f
sub ecx, r10d
shl r9, cl
movzx ecx, r10b
shr rdx, cl
or r9, rdx
xor r9, r11
mov eax, dword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
xor rdx, qword [rsi]
mov r8, rdx
cmp eax, 0x7fffffff
jb 0x140006679
test eax, eax
jle 0x140006603
and eax, 0x3f
sub ebx, eax
movzx ecx, bl
shr r8, cl
movzx ecx, al
shl rdx, cl
jmp 0x140006616
neg eax
and eax, 0x3f
sub ebx, eax
movzx ecx, bl
shl r8, cl
movzx ecx, al
shr rdx, cl
or r8, rdx
xor r8, qword [rsi + 8]
mov rdx, r9
mov rcx, r8
call fcn.140026280
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ecx, 0x41800000
call fcn.140030720
movaps xmm7, xmm0
mov rax, qword [0x1401c3028]
mulss xmm7, dword [rax + 0x1c]
movaps xmm0, xmm7
call fcn.14000e260
movaps xmm6, xmm7
subss xmm6, xmm0
mov ecx, 0x3f000000
call fcn.140030720
comiss xmm0, xmm6
jbe 0x140006696
movaps xmm0, xmm7
call fcn.14000e260
jmp 0x1400066f9
mov ecx, eax
neg ecx
test ecx, ecx
jle 0x140006605
and ecx, 0x3f
mov eax, ecx
sub ebx, ecx
movzx ecx, bl
shr r8, cl
movzx ecx, al
shl rdx, cl
jmp 0x140006616
movss dword [rbp + 0x98], xmm7
mov eax, dword [rbp + 0x98]
mov ecx, eax
shr ecx, 0x17
movzx ecx, cl
sub ecx, 0x7f
cmp ecx, 0x17
jge 0x140006700
test ecx, ecx
js 0x1400066dd
mov edx, 0x7fffff
sar edx, cl
test eax, edx
je 0x140006700
test eax, eax
js 0x1400066c9
add eax, edx
not edx
and eax, edx
mov dword [rbp + 0x98], eax
movss xmm7, dword [rbp + 0x98]
jmp 0x140006700
test eax, eax
jns 0x1400066e8
mov ecx, 0x80000000
jmp 0x1400066f4
test eax, 0x7fffffff
je 0x140006700
mov ecx, 0x3f800000
call fcn.140030720
movaps xmm7, xmm0
nop dword [rax]
movabs rax, 0x137c05318d4772dd
mov qword [rsp + 0x60], rax
movabs rax, 0x60912384673d5012
mov qword [rsp + 0x68], rax
movabs rdx, 0x3fd28f2b3acba39f
mov qword [rsp + 0x70], rdx
movabs rcx, 0xa6a65696b5225ef4
mov qword [rsp + 0x78], rcx
movabs rax, 0x1314055b8d3472b0
mov qword [rbp - 0x80], rax
movabs rax, 0x60f223f06749503c
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rcx
movups xmm1, xmmword [rbp - 0x80]
movups xmm2, xmmword [rbp - 0x70]
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmm1
movdqa xmmword [rbp], xmm0
xorps xmm2, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x10], xmm2
movaps xmm2, xmm7
lea rdx, [rbp]
call fcn.14001bc90
mov qword [0x1401c30b0], rax
mov rcx, qword [0x1401c3088]
mov rax, qword [rcx]
movss xmm1, dword [0x1400c8848]
movss xmm0, dword [0x1400c8844]
unpcklps xmm0, xmm1
movq r8, xmm0
lea rdx, [0x1400d5d00]
call qword [rax + 0x18]
mov qword [0x1401c30a0], rax
mov edi, r14d
mov r15d, 0x860861c0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140006843
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14000683a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140006810
cmp r10d, edi
jne 0x1400069ca
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x1400069d7
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x1400069ca
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x1400069ca
mov r12d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400068db
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1400068b0
cmp r10d, r15d
je 0x1400068ed
test r11d, r11d
jne 0x140006890
mov rax, qword [rax]
jmp 0x1400067e0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r14
jbe 0x1400069d2
lea rax, [r14 + r13]
cmp r8, rax
jae 0x1400069d2
mov edi, 0x811c9dc5
mov dword [rbp + 0x98], edi
mov r9d, edi
mov dword [rbp + 0x9c], edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x14000696b
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x140006940
mov dword [rbp + 0x98], edi
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x1400069ae
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x140006980
mov dword [rbp + 0x9c], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r15, qword [rbp + 0x98]
shr r15, 0x20
mov rax, qword [rax]
jmp 0x1400067e0
xor r14d, r14d
jmp 0x1400069dd
xor r14d, r14d
mov r8d, r14d
mov edx, 1
mov rcx, qword [0x1401c3098]
call r8
mov edi, r14d
mov r15d, 0x547ab68
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140006a73
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140006a6a
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140006a40
cmp r10d, edi
jne 0x140006bfa
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140006c02
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x140006bfa
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140006bfa
mov r12d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140006b0b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140006ae0
cmp r10d, r15d
je 0x140006b1d
test r11d, r11d
jne 0x140006ac0
mov rax, qword [rax]
jmp 0x140006a10
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r14
jbe 0x140006c05
lea rax, [r14 + r13]
cmp r8, rax
jae 0x140006c05
mov edi, 0x811c9dc5
mov dword [rbp + 0x98], edi
mov r9d, edi
mov dword [rbp + 0x9c], edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140006b9b
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x140006b70
mov dword [rbp + 0x98], edi
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x140006bde
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x140006bb0
mov dword [rbp + 0x9c], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r15, qword [rbp + 0x98]
shr r15, 0x20
mov rax, qword [rax]
jmp 0x140006a10
xor r8d, r8d
mov rcx, qword [0x1401c3098]
call r8
mov al, 1
jmp 0x140006e68
test rcx, rcx
je 0x140006c21
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x1401c30a8]
test rcx, rcx
je 0x140006c33
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x1401c3090]
test rcx, rcx
je 0x140006c45
mov rax, qword [rcx]
call qword [rax + 0x10]
mov edi, r14d
mov r15d, 0xca760f46
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140006cc3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x140006cba
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140006c90
cmp r10d, edi
jne 0x140006e4a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x140006e52
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x140006e4a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140006e4a
mov r12d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140006d5b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140006d30
cmp r10d, r15d
je 0x140006d6d
test r11d, r11d
jne 0x140006d10
mov rax, qword [rax]
jmp 0x140006c60
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r14
jbe 0x140006e55
lea rax, [r14 + r13]
cmp r8, rax
jae 0x140006e55
mov edi, 0x811c9dc5
mov dword [rbp + 0x98], edi
mov r9d, edi
mov dword [rbp + 0x9c], edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x140006deb
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x140006dc0
mov dword [rbp + 0x98], edi
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x140006e2e
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x140006e00
mov dword [rbp + 0x9c], r9d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r15, qword [rbp + 0x98]
shr r15, 0x20
mov rax, qword [rax]
jmp 0x140006c60
xor r8d, r8d
mov rdx, qword [0x1401c3048]
mov rcx, qword [0x1401c3070]
call r8
xor al, al
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x120]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret