Function at 0x180059530
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x230
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1801bd5c0]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r13, r9
movaps xmm7, xmm2
movss dword [rsp + 0x6c], xmm2
mov r15, rdx
mov qword [rbp - 0x48], rdx
mov r12, rcx
mov qword [rsp + 0x60], rcx
cmp byte [0x1801bd356], 1
jne 0x18005ac64
movss xmm10, dword [0x180094d5c]
comiss xmm2, xmm10
jb 0x18005ac64
movss xmm0, dword [0x1801bd36c]
comiss xmm0, xmm2
jb 0x18005ac64
mov edx, 8
add rcx, 0x500
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005ac64
mov rbx, qword [r12 + 0x500]
lea rax, [rbx - 0xffff]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
ja 0x18005ac64
test bl, 7
jne 0x18005ac64
cmp rbx, qword [0x1801bf2b0]
je 0x18005ac64
lea rcx, [r12 + 0xe50]
call fcn.1800565a0
mov r14d, eax
mov eax, 0xd1b71759
mul r14d
shr edx, 0xd
imul ecx, edx, 0x2710
sub r14d, ecx
mov ecx, r14d
cmp rcx, qword [0x1801bf2b8]
jne 0x180059676
cmp byte [0x1801be216], 0
je 0x18005ac64
lea eax, [r14 - 1]
xor esi, esi
cmp eax, 0x270e
cmova r14d, esi
mov dword [rbp - 0x80], r14d
lea edx, [rsi + 1]
lea rcx, [r12 + 0x328]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x1800596ad
cmp byte [r12 + 0x328], 3
je 0x1800597f7
mov edx, 4
lea rcx, [r12 + 0x9d0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x1800597f7
cmp dword [r12 + 0x9d0], esi
je 0x1800597f7
xor r15b, r15b
lea edx, [rax + 1]
lea rcx, [r12 + 0x9c5]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x1800596f7
movzx r15d, byte [r12 + 0x9c5]
xor r14b, r14b
mov edx, 1
lea rcx, [r12 + 0x9c4]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005971a
movzx r14d, byte [r12 + 0x9c4]
movzx edi, r14b
add rdi, r12
xorps xmm13, xmm13
xorps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
mov edx, 4
lea rcx, [rdi + 0x9b0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180059752
movss xmm0, dword [rdi + 0x9b0]
movss dword [rsp + 0x68], xmm0
xorps xmm6, xmm6
mov edx, 4
lea rcx, [rdi + 0x9b0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180059773
movss xmm6, dword [rdi + 0x9b0]
movss dword [rbp + 0x20], xmm6
test r15b, r15b
je 0x18005982d
mov edi, esi
mov edx, 4
lea rcx, [r12 + 0x9c0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x1800597b0
mov edi, dword [r12 + 0x9c0]
nop dword [rax]
nop word [rax + rax]
mov eax, edi
and eax, 0x3f
lea rcx, [0x1801bd530]
movzx eax, byte [rax + rcx]
xor byte [rbp + 0x20], al
lea eax, [rdi + 1]
and eax, 0x3f
movzx eax, byte [rax + rcx]
xor byte [rbp + 0x21], al
lea eax, [rdi + 2]
and eax, 0x3f
movzx eax, byte [rax + rcx]
xor byte [rbp + 0x22], al
lea eax, [rdi + 3]
and eax, 0x3f
movzx eax, byte [rax + rcx]
xor byte [rbp + 0x23], al
movss xmm6, dword [rbp + 0x20]
movss dword [rsp + 0x68], xmm6
jmp 0x180059833
xorps xmm13, xmm13
xorps xmm6, xmm6
movss dword [rsp + 0x68], xmm6
mov edx, 4
lea rcx, [r12 + 0x9e0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005983b
movss xmm6, dword [r12 + 0x9e0]
movss dword [rsp + 0x68], xmm6
jmp 0x18005983b
movss xmm6, dword [rsp + 0x68]
mov r15, qword [rbp - 0x48]
mov r14d, dword [rbp - 0x80]
lea rcx, [r12 + 0x1ef0]
call fcn.1800565d0
movaps xmm1, xmm6
addss xmm1, xmm0
comiss xmm13, xmm1
jae 0x18005ac64
comiss xmm1, dword [0x1801a4618]
ja 0x18005ac64
movss xmm11, dword [0x180094da4]
comiss xmm13, xmm6
jae 0x180059880
comiss xmm6, xmm11
ja 0x180059880
mov r12d, esi
jmp 0x18005988c
mov r12d, 1
movss dword [rsp + 0x68], xmm0
mov ecx, r14d
cmp dword [r15], 2
cmove ecx, esi
call fcn.18005e600
mov dword [rbp - 0x6c], eax
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi + 0x430]
call fcn.180056600
test rax, rax
je 0x1800598cc
mov rdx, rax
xor ecx, ecx
mov r8, qword [0x1801be230]
call qword [r8 + 0x10826f28]
mov r15, rax
jmp 0x1800598cf
mov r15, rsi
mov edx, 8
lea rcx, [rdi + 0x11a0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005ac64
mov rdi, qword [rdi + 0x11a0]
lea rax, [rdi - 0xffff]
movabs rcx, 0x7fffffff0000
cmp rax, rcx
ja 0x18005ac64
test dil, 7
jne 0x18005ac64
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r14, 0xffffffffffffffff
mov r9d, r14d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test r15, r15
jne 0x18005996f
mov dword [rbp - 0x70], esi
jmp 0x180059986
lea rcx, [r15 + 0xbec]
call fcn.1800565a0
mov edi, eax
cmp eax, 0x63
cmova edi, esi
mov dword [rbp - 0x70], edi
mov r8d, 0xf
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18005e460
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x40], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x38], eax
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call fcn.180069080
mov r8d, 0xc1
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.18005e460
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x58], eax
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x40]
call fcn.180069080
mov dword [rsp + 0x7c], r12d
mov qword [rbp - 0x50], rbx
cmp byte [0x1801be217], sil
je 0x180059c42
movsd xmm1, qword [r13]
movss xmm7, dword [0x1801bf2c8]
subss xmm7, xmm1
movss xmm8, dword [0x1801bf2cc]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x50], xmm1
subss xmm8, xmm0
movss xmm6, dword [0x1801bf2d0]
subss xmm6, dword [r13 + 8]
movaps xmm1, xmm8
mulss xmm1, xmm8
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180059a60
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x180059a68
movaps xmm0, xmm1
call fcn.18007a8cc
movaps xmm1, xmm0
movaps xmm0, xmm6
call fcn.18007c1e4
movaps xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.18007c1e4
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1801a45a0]
cvtpd2ps xmm8, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm0, qword [0x1801a45a0]
cvtpd2ps xmm9, xmm0
mov r15, qword [rsp + 0x60]
xorps xmm7, xmm7
xorps xmm6, xmm6
mov edx, 0xc
lea rcx, [r15 + 0x18b0]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180059af5
movsd xmm1, qword [r15 + 0x18b0]
mov eax, dword [r15 + 0x18b8]
mov dword [rsp + 0x58], eax
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm6, xmm0
movsd qword [rsp + 0x50], xmm1
movss xmm7, dword [rsp + 0x50]
movss xmm1, dword [0x1800997c4]
movss xmm2, dword [0x1801a4678]
movss xmm3, dword [0x1801a4614]
comiss xmm7, xmm3
jbe 0x180059b18
subss xmm7, xmm1
jmp 0x180059b21
comiss xmm2, xmm7
jbe 0x180059b21
addss xmm7, xmm1
comiss xmm6, xmm3
jbe 0x180059b2c
subss xmm6, xmm1
jmp 0x180059b35
comiss xmm2, xmm6
jbe 0x180059b35
addss xmm6, xmm1
movss xmm0, dword [0x1801a4674]
maxss xmm0, xmm7
movss xmm4, dword [0x1801a4604]
minss xmm4, xmm0
mov dword [rsp + 0x7c], r12d
mov qword [rbp - 0x50], rbx
comiss xmm2, xmm6
jbe 0x180059b6d
mov dword [rsp + 0x7c], r12d
mov qword [rbp - 0x50], rbx
addss xmm6, xmm1
comiss xmm2, xmm6
ja 0x180059b64
comiss xmm6, xmm3
jbe 0x180059b89
movss xmm0, dword [0x1801a467c]
nop word [rax + rax]
addss xmm6, xmm0
comiss xmm6, xmm3
ja 0x180059b80
subss xmm8, xmm6
movss xmm0, dword [0x180094df0]
andps xmm8, xmm0
cvttss2si eax, xmm8
subss xmm9, xmm4
andps xmm9, xmm0
cvttss2si ecx, xmm9
cmp eax, 2
jg 0x180059c3a
cmp ecx, 2
jg 0x180059c3a
movss xmm2, dword [0x1801be204]
mulss xmm2, dword [0x180094d34]
movss xmm1, dword [0x1801be200]
mulss xmm1, dword [0x180094d34]
movups xmm0, xmmword [0x1801bd470]
movups xmmword [rsp + 0x50], xmm0
movss dword [rsp + 0x60], xmm1
movss dword [rsp + 0x64], xmm2
movss xmm0, dword [rbp + 0x190]
movss dword [rbp - 0x78], xmm0
movss xmm1, dword [rbp + 0x194]
movss dword [rbp - 0x74], xmm1
call fcn.18000a000
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.180007750
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.18001bc80
movss xmm7, dword [rsp + 0x6c]
jmp 0x180059c47
mov r15, qword [rsp + 0x60]
cmp byte [0x1801bd365], 1
jne 0x18005a66b
mov rcx, qword [0x1801bf2a0]
add rcx, 0x18b4
call fcn.1800565d0
lea rcx, [r15 + 0x18b4]
call fcn.1800565d0
movss dword [rsp + 0x70], xmm0
lea rcx, [r15 + 0x500]
call fcn.180056600
mov r12, rax
mov qword [rbp - 0x60], rax
lea rcx, [r15 + 0xe50]
call fcn.1800565a0
mov edi, eax
mov rcx, qword [0x1801bf2a0]
add rcx, 0xe40
call fcn.1800565a0
mov ebx, eax
mov r8d, 0xf
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.18005e460
mov r8d, 0xf
mov rdx, qword [0x1801bf2b0]
lea rcx, [rsp + 0x50]
call fcn.18005e460
cmp ebx, edi
je 0x18005a66b
mov rcx, qword [0x1801bf2a0]
add rcx, 0x500
call fcn.180056600
mov rbx, rax
movss dword [rbp + 0x20], xmm13
movss dword [rsp + 0x78], xmm13
mov edx, 0xc
lea rcx, [rax + 0x290]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180059d4a
movsd xmm1, qword [rbx + 0x290]
mov eax, dword [rbx + 0x298]
mov dword [rsp + 0x58], eax
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movss dword [rsp + 0x78], xmm0
movsd qword [rsp + 0x50], xmm1
movss xmm0, dword [rsp + 0x50]
movss dword [rbp + 0x20], xmm0
lea rcx, [r15 + 0x500]
call fcn.180056600
mov rbx, rax
movaps xmm14, xmm13
movaps xmm15, xmm13
mov edx, 0xc
lea rcx, [rax + 0x290]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x180059da1
movsd xmm1, qword [rbx + 0x290]
mov eax, dword [rbx + 0x298]
mov dword [rsp + 0x58], eax
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm15, xmm0
movsd qword [rsp + 0x50], xmm1
movss xmm14, dword [rsp + 0x50]
call fcn.18000a400
movss xmm0, dword [rax + 8]
movss dword [rbp - 0x7c], xmm0
call fcn.18000a400
movss xmm0, dword [rax + 0xc]
movss dword [rbp - 0x78], xmm0
mov rcx, qword [0x1801be280]
add rcx, 0x718
call fcn.1800565a0
mov dword [rsp + 0x60], eax
mov rcx, qword [0x1801be250]
add rcx, 8
call fcn.1800565a0
xor eax, 0xf74a4a42
mov edx, eax
shr edx, 0x17
shl eax, 9
or edx, eax
mov ecx, edx
shl ecx, 0x10
xor ecx, edx
xor ecx, 0x8bd45a8
call fcn.180057f20
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rsi
mov r8, r14
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x180059e20
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.180056630
nop
mov dword [rsp + 0x50], 0xc04083a
mov dword [rsp + 0x54], 0xe233209
mov word [rsp + 0x58], 0x1f19
xor eax, eax
mov byte [rsp + 0x5a], al
mov edx, esi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xa
jb 0x180059e60
mov byte [rsp + 0x5a], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180059e80
lea rcx, [rbp + 0x30]
mov r12, qword [rbp + 0x30]
mov r13, qword [rbp + 0x48]
cmp r13, 0xf
cmova rcx, r12
movss xmm7, dword [0x1801a460c]
mov rbx, qword [rbp + 0x40]
cmp rbx, rax
jne 0x180059ec4
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x180059ec4
movaps xmm6, xmm7
jmp 0x180059ec9
movss xmm6, dword [rbp - 0x6c]
mov dword [rsp + 0x50], 0x1f06082a
mov dword [rsp + 0x54], 0x22310e05
mov dword [rsp + 0x58], 0x1c1811
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xb
jb 0x180059ef0
mov byte [rsp + 0x5b], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180059f10
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
movss xmm8, dword [0x1801a4650]
cmp rbx, rax
jne 0x180059f48
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x180059f48
movaps xmm6, xmm8
mov dword [rsp + 0x50], 0xe190c2c
mov dword [rsp + 0x54], 0x2231191e
mov dword [rsp + 0x58], 0x1c1811
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xb
jb 0x180059f70
mov byte [rsp + 0x5b], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180059f90
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x180059fbf
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x180059fbf
movaps xmm6, xmm8
mov dword [rsp + 0x50], 0xa1c083b
mov dword [rsp + 0x54], 0x2231080b
mov dword [rsp + 0x58], 0x1c1811
mov edx, esi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xb
jb 0x180059fe0
mov byte [rsp + 0x5b], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a000
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a033
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a033
movss xmm6, dword [0x1801a4624]
mov dword [rsp + 0x50], 0x402002c
mov dword [rsp + 0x54], 0x1a221e
mov dword [rsp + 0x58], 0x123f2e1b
mov word [rsp + 0x5c], 0x1b1d
xor eax, eax
mov byte [rsp + 0x5e], al
mov edx, esi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xe
jb 0x18005a060
mov byte [rsp + 0x5e], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a080
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a0b3
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a0b3
movss xmm6, dword [0x1801a4638]
mov dword [rsp + 0x50], 0x603012b
mov dword [rsp + 0x54], 0x300f1f09
mov dword [rsp + 0x58], 0x1d1b103d
xor eax, eax
mov byte [rsp + 0x5c], al
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xc
jb 0x18005a0e0
mov byte [rsp + 0x5c], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a100
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a133
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a133
movss xmm6, dword [0x1801a461c]
movdqa xmm0, xmmword [0x1801a46e0]
movdqu xmmword [rsp + 0x50], xmm0
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xf
jb 0x18005a150
mov byte [rsp + 0x5f], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a170
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a19e
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a19e
movaps xmm6, xmm7
mov dword [rsp + 0x50], 0xe0d003c
mov dword [rsp + 0x54], 0xe23321e
mov word [rsp + 0x58], 0x1f19
xor eax, eax
mov byte [rsp + 0x5a], al
mov edx, esi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xa
jb 0x18005a1c0
mov byte [rsp + 0x5a], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a1e0
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a213
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a213
movss xmm6, dword [0x1801a464c]
mov dword [rsp + 0x50], 0x5050c26
mov dword [rsp + 0x54], 0x60f2033
mov word [rsp + 0x58], 0x1e
mov edx, esi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 9
jb 0x18005a230
mov byte [rsp + 0x59], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a250
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a27f
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a27f
movaps xmm6, xmm8
mov dword [rsp + 0x50], 0x2010023
mov dword [rsp + 0x54], 0x60f2033
mov word [rsp + 0x58], 0x1e
mov edx, esi
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 9
jb 0x18005a2a0
mov byte [rsp + 0x59], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a2c0
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a2ef
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a2ef
movaps xmm6, xmm8
mov dword [rsp + 0x50], 0x1d0b0c20
mov dword [rsp + 0x54], 0x22310309
mov dword [rsp + 0x58], 0x1c1811
mov edx, esi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x68]
xor byte [rsp + rcx + 0x50], al
inc edx
cmp edx, 0xb
jb 0x18005a310
mov byte [rsp + 0x5b], 0
lea rcx, [rsp + 0x50]
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x18005a330
lea rcx, [rbp + 0x30]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, rax
jne 0x18005a363
mov r8, rbx
lea rdx, [rsp + 0x50]
call fcn.180091a20
test eax, eax
jne 0x18005a363
movss xmm6, dword [0x1801a45fc]
mov rcx, qword [0x1801be250]
add rcx, 0x9b4
call fcn.1800565a0
movd xmm8, eax
mov rcx, qword [0x1801be250]
add rcx, 0x9b8
call fcn.1800565a0
movd xmm9, eax
mov r8d, 0xf
mov rdx, qword [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.18005e460
cvtdq2ps xmm9, xmm9
addss xmm9, dword [rsp + 0x54]
cvtdq2ps xmm8, xmm8
addss xmm8, dword [rsp + 0x50]
movss xmm10, dword [0x1801a4668]
movss xmm11, dword [0x1801a4664]
mov eax, dword [rsp + 0x60]
cmp eax, 3
je 0x18005a3e1
cmp eax, 0x4b
jne 0x18005a51a
call fcn.18000a400
comiss xmm10, dword [rax + 8]
jae 0x18005a409
call fcn.18000a400
comiss xmm11, dword [rax + 0xc]
jae 0x18005a409
divss xmm8, xmm6
addss xmm8, dword [0x1801a4648]
jmp 0x18005a41f
mulss xmm6, dword [0x1801a4504]
divss xmm8, xmm6
addss xmm8, dword [0x1801a4634]
movaps xmm0, xmmword [0x1801a4770]
divss xmm9, xmm6
movups xmmword [rsp + 0x50], xmm0
movss dword [rsp + 0x60], xmm8
movss dword [rsp + 0x64], xmm9
call fcn.18000a000
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.180007750
mov dword [rsp + 0x20], 0x64
mov r9d, eax
movss xmm2, dword [0x180094d84]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.18001a760
movss xmm6, dword [rsp + 0x70]
cvtps2pd xmm6, xmm6
mulsd xmm6, qword [0x1801a44f0]
movaps xmm0, xmm6
call fcn.180080a70
cvtps2pd xmm1, xmm9
mulsd xmm0, qword [0x1801a4580]
xorps xmm7, xmm7
addsd xmm0, xmm1
cvtsd2ss xmm7, xmm0
movaps xmm0, xmm6
call fcn.1800804f0
cvtps2pd xmm1, xmm8
mulsd xmm0, qword [0x1801a4578]
xorps xmm2, xmm2
addsd xmm0, xmm1
cvtsd2ss xmm2, xmm0
movaps xmm0, xmmword [0x1801a4770]
movups xmmword [rsp + 0x50], xmm0
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x70], xmm8
movss dword [rsp + 0x74], xmm9
call fcn.18000a000
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.180007750
movss xmm0, dword [0x180094d5c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.18001bc80
movss xmm7, dword [rsp + 0x6c]
movss xmm0, dword [0x1801a4618]
comiss xmm0, xmm7
jb 0x18005a62a
call fcn.18000a400
comiss xmm10, dword [rax + 8]
jae 0x18005a56a
call fcn.18000a400
comiss xmm11, dword [rax + 0xc]
jae 0x18005a56a
subss xmm14, dword [rbp + 0x20]
divss xmm14, dword [0x1801a4608]
subss xmm15, dword [rsp + 0x78]
divss xmm15, dword [0x1801a4608]
jmp 0x18005a589
subss xmm14, dword [rbp + 0x20]
divss xmm14, dword [0x1801a4610]
subss xmm15, dword [rsp + 0x78]
divss xmm15, dword [0x1801a4610]
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x7c]
addss xmm15, xmm0
addss xmm14, xmm1
mulss xmm0, dword [0x1801a44dc]
mulss xmm1, dword [0x1801a44d8]
subss xmm15, xmm0
subss xmm14, xmm1
movaps xmm0, xmmword [0x1801a4770]
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm14
subsd xmm1, qword [0x1801a4560]
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x60], xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm15
subsd xmm1, qword [0x1801a4560]
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x64], xmm0
call fcn.18000a000
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.180007750
mov r9d, eax
mov dword [rsp + 0x20], 0x64
movss xmm2, dword [0x180094d84]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.18001a760
nop
cmp r13, 0xf
jbe 0x18005a662
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x18005a65a
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005acc4
mov rcx, r12
call fcn.180069fc0
movss xmm11, dword [0x180094da4]
movss xmm0, dword [0x180094d5c]
movss xmm1, dword [rbp + 0x190]
comiss xmm0, xmm1
ja 0x18005ac41
comiss xmm1, dword [0x1801be200]
ja 0x18005ac41
movss xmm1, dword [rbp + 0x194]
comiss xmm0, xmm1
ja 0x18005ac41
comiss xmm1, dword [0x1801be204]
ja 0x18005ac41
mov rcx, qword [0x1801bf2b0]
add rcx, 0x718
call fcn.1800565a0
mov ebx, eax
mov rdi, qword [rbp - 0x50]
lea rcx, [rdi + 0x718]
call fcn.1800565a0
mov r9d, esi
cmp eax, ebx
setae r9b
lea rdx, [0x1801bd460]
lea rcx, [0x1801bd450]
mov r8d, dword [rsp + 0x7c]
test r8d, r8d
cmovne rcx, rdx
movups xmm9, xmmword [rcx]
jne 0x18005a711
lea rcx, [0x1801bd490]
lea rdx, [0x1801bd440]
cmp eax, ebx
cmovae rdx, rcx
cmp byte [0x1801bd357], 1
jne 0x18005a737
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x50], xmm0
movss xmm2, dword [0x1801bd368]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.18005acd0
cmp byte [0x1801bd366], 1
jne 0x18005a947
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp + 0x50]
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x18005a760
mov r8, r14
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x28]
call fcn.180056630
nop
movdqa xmmword [rsp + 0x50], xmm9
mov rax, qword [rbp - 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
mov edx, 8
lea rcx, [r15 + 0x910]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005a899
mov rbx, qword [r15 + 0x910]
lea rax, [rbx - 0xffff]
movabs r12, 0x7fffffff0000
cmp rax, r12
ja 0x18005a899
test bl, 7
jne 0x18005a899
mov edx, 8
lea rcx, [rbx + 0x1f8]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005a899
mov rdi, qword [rbx + 0x1f8]
lea rax, [rdi - 0xffff]
cmp rax, r12
ja 0x18005a899
test dil, 7
jne 0x18005a899
lea r14, [rbx + 0x301]
xor bl, bl
mov edx, 1
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005a838
movzx ebx, byte [r14]
cmp bl, 4
ja 0x18005a899
movzx eax, bl
lea rcx, [rdi + rax*8]
call fcn.180056600
lea rcx, [rax - 0xffff]
cmp rcx, r12
ja 0x18005a899
test al, 7
jne 0x18005a899
lea rcx, [rax + 8]
call fcn.1800565a0
xor eax, 0xf74a4a42
mov ecx, eax
shr ecx, 0x17
shl eax, 9
or ecx, eax
mov ebx, ecx
shl ebx, 0x10
xor ebx, ecx
xor ebx, 0x8bd45a8
mov ecx, ebx
call fcn.180057f20
test rax, rax
je 0x18005a899
mov r8, rax
mov edx, ebx
lea rcx, [rbp + 0x30]
call fcn.18005c4b0
cmp dword [rbp + 0x30], 0
jne 0x18005a8af
mov dword [rbp + 0x30], esi
lea rax, [0x180094abc]
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x40], 0
mov qword [rbp + 0x48], rsi
movups xmm0, xmmword [rbp + 0x30]
movups xmm1, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x40], xmm1
lea rax, [rbp - 0x28]
mov qword [rsp + 0x48], rax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x70]
mov dword [rsp + 0x38], eax
movsd xmm0, qword [rbp - 0x30]
movsd qword [rsp + 0x30], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x28], xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp - 0x6c]
movaps xmm2, xmm7
lea rdx, [rbp]
lea rcx, [rbp + 0x30]
call fcn.18005b140
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18005a947
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a942
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005acbe
call fcn.180069fc0
lea rcx, [r15 + 0x2020]
call fcn.180056600
lea rcx, [rax + 0x260]
call fcn.180056600
mov rdi, rax
lea rcx, [rax - 0xffff]
movabs r14, 0x7fffffff0000
cmp rcx, r14
ja 0x18005ab64
test dil, 7
jne 0x18005ab64
mov edx, 4
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005a99c
mov esi, dword [rdi + 8]
xor esi, 0xf74a4a42
mov eax, esi
shr eax, 0x17
shl esi, 9
or eax, esi
mov ebx, eax
shl ebx, 0x10
xor ebx, eax
xor ebx, 0x8bd45a8
lea eax, [rbx - 1]
cmp eax, 0xf423f
ja 0x18005ac64
mov ecx, ebx
call fcn.180057f20
test rax, rax
je 0x18005ac64
mov r8, rax
mov edx, ebx
lea rcx, [rbp - 0x28]
call fcn.18005c4b0
cmp dword [rbp - 0x28], 0
je 0x18005ac64
mov edx, 8
lea rcx, [rdi + 0x3b8]
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005ac64
mov rdx, qword [rdi + 0x3b8]
test rdx, rdx
je 0x18005ac64
xor ecx, ecx
mov rax, qword [0x1801be230]
call qword [rax + 0x10826f28]
lea rcx, [rax - 0xffff]
cmp rcx, r14
ja 0x18005ac64
test al, 7
jne 0x18005ac64
lea rbx, [rax + 0x290]
movaps xmm6, xmm13
movaps xmm7, xmm13
mov edx, 0xc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
test eax, eax
jne 0x18005aa88
movsd xmm8, qword [rbx]
mov ebx, dword [rbx + 8]
movd xmm7, ebx
movaps xmm0, xmm8
shufps xmm0, xmm0, 0x55
movaps xmm6, xmm0
movsd qword [rsp + 0x50], xmm8
movss xmm13, dword [rsp + 0x50]
jmp 0x18005aa94
movd ebx, xmm7
movaps xmm8, xmm13
unpcklps xmm8, xmm6
subss xmm6, dword [0x1801bf2dc]
movss xmm9, dword [0x180094d6c]
movaps xmm1, xmm9
movaps xmm0, xmm6
call fcn.18007e5b0
movaps xmm6, xmm0
subss xmm13, dword [0x1801bf2d8]
movaps xmm1, xmm9
movaps xmm0, xmm13
call fcn.18007e5b0
addss xmm6, xmm0
subss xmm7, dword [0x1801bf2e0]
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.18007e5b0
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x18005aaf4
sqrtss xmm6, xmm6
jmp 0x18005aaff
movaps xmm0, xmm6
call fcn.18007a8cc
movaps xmm6, xmm0
divss xmm6, xmm11
comiss xmm9, xmm6
jae 0x18005ac64
comiss xmm6, dword [0x1801a466c]
ja 0x18005ac64
movsd qword [rsp + 0x50], xmm8
mov dword [rsp + 0x58], ebx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.180069080
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x10], xmm1
mov dword [rsp + 0x20], 1
mov r9, qword [rbp - 0x60]
movaps xmm2, xmm6
lea rdx, [rbp]
mov rcx, rdi
call fcn.18005b770
jmp 0x18005ac64
cmp byte [0x1801bd366], 1
jne 0x18005ac64
movdqa xmmword [rsp + 0x50], xmm9
movaps xmm1, xmm7
movss xmm2, dword [0x1801a45c8]
divss xmm1, xmm2
movss xmm0, dword [0x180094d98]
subss xmm0, xmm1
movaps xmm6, xmm2
maxss xmm6, xmm0
addss xmm6, dword [rbp - 0x3c]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
movaps xmm1, xmm6
subss xmm1, xmm2
movsd qword [rsp + 0x28], xmm0
lea rax, str.__.0f_
mov qword [rsp + 0x20], rax
movss xmm7, dword [0x1801a45d0]
movaps xmm3, xmm7
movd r9d, xmm3
lea r8, [rsp + 0x50]
movd edx, xmm1
movss xmm8, dword [rbp - 0x30]
movaps xmm0, xmm8
movd ecx, xmm0
call fcn.180067d10
lea rcx, [r15 + 0x1cb0]
call fcn.1800565a0
lea ecx, [rax - 1]
cmp ecx, 0x62
ja 0x18005ac64
movdqa xmmword [rsp + 0x50], xmm9
addss xmm6, dword [0x180094d8c]
mov dword [rsp + 0x28], eax
lea rax, [0x1801a4350]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm7
movd r9d, xmm3
lea r8, [rsp + 0x50]
movaps xmm1, xmm6
movd edx, xmm1
movaps xmm0, xmm8
movd ecx, xmm0
call fcn.180067d10
jmp 0x18005ac64
inc dword [0x1801be338]
movss xmm0, dword [0x1801be33c]
comiss xmm0, xmm7
ja 0x18005ac5c
ucomiss xmm0, xmm13
jp 0x18005ac64
jne 0x18005ac64
movss dword [0x1801be33c], xmm7
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.18006a0e0
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180080478
int3
call fcn.180080478
int3