Function at 0x1800929c0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x18031d080]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov r14, rcx
xor esi, esi
mov dword [rsp + 0x20], esi
lea r13, [rcx + 0x20]
lea r12, [rcx + 0x24]
movss xmm0, dword [r13]
movss xmm1, dword [r12]
comiss xmm0, xmm1
jbe 0x180092a36
movss dword [r13], xmm1
movss dword [r12], xmm0
mov ecx, dword [0x18031e2c8]
mov rax, qword gs:[0x58]
mov edi, 4
mov rbx, qword [rax + rcx*8]
lea r15, [0x180327950]
mov eax, dword [rbx + rdi]
cmp dword [0x180328cdc], eax
jle 0x180092ad7
lea rcx, [0x180328cdc]
call fcn.1800a91d8
cmp dword [0x180328cdc], 0xffffffff
jne 0x180092ad7
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x180328cd4], 0xffffffff
mov dword [0x180327954], eax
mov r8d, 1
nop dword [rax]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r15 + r8*4 + 4], eax
inc r8
cmp r8, 0x270
jb 0x180092aa0
mov dword [0x180327950], 0x270
lea rcx, [0x180328cdc]
call fcn.1800a916c
mov eax, dword [rbx + rdi]
cmp dword [0x180328cd8], eax
jle 0x180092b3a
lea rcx, [0x180328cd8]
call fcn.1800a91d8
cmp dword [0x180328cd8], 0xffffffff
jne 0x180092b3a
cvttss2si r8d, dword [r13]
mov eax, 0x3e8
cdq
idiv r8d
movsxd rbx, eax
mov qword [0x180328ce8], 0
lea rcx, [rbp - 0x39]
call fcn.1800921e0
mov rdx, qword [rax]
mov qword [0x180328ce8], rdx
mov qword [0x180328cf0], rbx
lea rcx, [0x180328cd8]
call fcn.1800a916c
mov qword [rbp - 0x31], 0
lea rcx, [rbp - 0x31]
call qword [sym.imp.USER32.dll_GetCursorPos]
cmp byte [r14 + 8], 0
je 0x180093709
cmp byte [0x180320fd0], 0
jne 0x180093709
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x180093709
cmp byte [r14 + 0x28], 0
je 0x180092ba2
lea rdx, [rsp + 0x28]
mov rcx, qword [0x1803215f0]
call fcn.180067330
mov esi, 1
cmp qword [rax + 8], 0
je 0x180092ba2
movzx ebx, sil
jmp 0x180092ba4
xor bl, bl
test sil, 1
je 0x180092bdb
and esi, 0xfffffffe
cmp byte [rsp + 0x38], 0
je 0x180092bdb
cmp qword [0x180320fb8], 0
je 0x180092bdb
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x180092bdb
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x180093709
lea rdx, [rbp - 0x69]
mov rcx, qword [0x1803215f0]
call fcn.180067240
nop
or esi, 2
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.180069d60
mov r15, rax
or esi, 4
mov dword [rsp + 0x20], esi
mov rdi, qword [0x180320fb8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x79], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rsp + 0x40]
call fcn.1800054a0
nop
or esi, 8
mov dword [rsp + 0x20], esi
lea rdx, [rsp + 0x40]
lea rcx, [0x1803214f8]
call fcn.18006fab0
mov rbx, rax
mov rdx, rdi
lea rcx, [0x1803214f8]
call fcn.18006f810
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp - 0x51], rdi
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x49], rax
or esi, 0x20
or esi, 0x10
mov dword [rsp + 0x20], esi
mov rdx, qword [r15 + 8]
cmp rdx, rax
je 0x180092cc1
test rdx, rdx
je 0x180092ccc
test rax, rax
je 0x180092ccc
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
jne 0x180092ccc
cmp byte [r14 + 0x29], 0
je 0x180092ccc
mov bl, 1
jmp 0x180092cce
xor bl, bl
test sil, 0x10
je 0x180092cd7
and esi, 0xffffffef
test sil, 8
je 0x180092d31
and esi, 0xfffffff7
mov rdx, qword [rbp - 0x71]
cmp rdx, 0xf
jbe 0x180092d1f
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180092d1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180092d1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800a96d4
movdqa xmm0, xmmword [0x18030b6b0]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rsp + 0x40], 0
test sil, 4
je 0x180092d74
and esi, 0xfffffffb
mov dword [rsp + 0x20], esi
cmp byte [rsp + 0x38], 0
je 0x180092d74
cmp qword [0x180320fb8], 0
je 0x180092d74
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x180092d74
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x30], 0
test sil, 2
je 0x180092da5
cmp byte [rbp - 0x59], 0
je 0x180092da5
cmp qword [0x180320fb8], 0
je 0x180092da5
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x180092da5
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x180093709
lea rcx, [rbp - 0x39]
call fcn.1800921e0
mov rcx, qword [rbp - 0x39]
mov rdx, rcx
sub rdx, qword [0x180328ce8]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x180328cf0]
je 0x180092e01
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x180093709
mov qword [0x180328ce8], rcx
cmp dword [0x18031f888], 3
jne 0x180092f32
cmp byte [0x18031e4f9], 0
je 0x180092e54
mov rax, qword [rbp - 0x31]
mov qword [rbp - 0x39], rax
mov rdx, qword [0x180320f30]
cmp rdx, qword [0x180320f38]
je 0x180092e46
mov qword [rdx], rax
add qword [0x180320f30], 8
jmp 0x180093709
lea r8, [rbp - 0x39]
call fcn.180094f10
jmp 0x180093709
cmp byte [0x18031e4f8], 0
je 0x180092f32
mov rcx, qword [0x180320f30]
cmp qword [0x180320f28], rcx
je 0x180092f32
lea rcx, [rbp - 0x39]
call fcn.1800921e0
mov rbx, qword [rbp - 0x39]
mov r8, rbx
sub r8, qword [0x180320f20]
cvttss2si ecx, dword [r12]
mov eax, 0x3e8
cdq
idiv ecx
movsxd rcx, eax
imul rax, rcx, 0xf4240
cmp r8, rax
je 0x180092eaf
jl 0x180093709
mov rax, qword [0x180320f30]
mov rdx, qword [0x180320f28]
sub rax, rdx
sar rax, 3
mov rcx, qword [0x180320ed8]
cmp rcx, rax
jb 0x180092ed9
xor ecx, ecx
mov qword [0x180320ed8], rcx
movzx edi, word [rdx + rcx*8 + 4]
shl rdi, 0x10
movzx eax, word [rdx + rcx*8]
or rdi, rax
mov r9, rdi
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r9, rdi
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
inc qword [0x180320ed8]
mov qword [0x180320f20], rbx
jmp 0x180093709
mov ebx, 0x80000000
cmp byte [r14 + 0x2a], 0
je 0x180093038
lea r15, [0x180327950]
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 3
ja 0x180092f8a
nop dword [rax]
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rdx, rcx, 0xb
cmp edx, 4
jb 0x180092f60
shr rdx, 0x20
add edx, 0x7ffffffb
lea eax, [rdx + rbx]
lea edi, [rdx - 0x80000000]
cmp edx, ebx
jmp 0x180092f9f
shr rcx, 0x20
add ecx, 0x7ffffffb
lea eax, [rcx + rbx]
lea edi, [rcx - 0x80000000]
cmp ecx, ebx
cmovae edi, eax
add edi, dword [rbp - 0x31]
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 0xb
jae 0x180092fd3
cmp ecx, 4
jae 0x180092fd3
nop dword [rax]
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rcx, rcx, 0xb
cmp ecx, 4
jb 0x180092fc0
shr rcx, 0x20
add ecx, 0x7ffffffb
lea eax, [rcx + rbx]
lea edx, [rcx - 0x80000000]
cmp ecx, ebx
cmovae edx, eax
add edx, dword [rbp - 0x2d]
movzx ebx, dx
shl rbx, 0x10
movzx eax, di
or rbx, rax
mov r9, rbx
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r9, rbx
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
mov ebx, 0x80000000
jmp 0x18009308f
movzx r9d, word [rbp - 0x2d]
shl r9d, 0x10
movzx eax, word [rbp - 0x31]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rbp - 0x2d]
shl r9d, 0x10
movzx eax, word [rbp - 0x31]
or r9, rax
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180320fc8]
call qword [sym.imp.USER32.dll_PostMessageA]
lea r15, [0x180327950]
movss xmm9, dword [r12]
movaps xmm10, xmm9
subss xmm10, dword [r13]
mulss xmm10, dword [0x18030b46c]
addss xmm9, dword [r13]
mulss xmm9, dword [0x18030b46c]
lea rdi, [0x180327958]
xorps xmm1, xmm1
movss xmm3, dword [0x18030b3f0]
movss xmm2, dword [0x18030b4b4]
mov edx, dword [0x180327950]
cmp edx, 0x270
jne 0x180093134
mov r8, rdi
mov r9d, edx
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + 0x630]
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x1800930f0
mov edx, dword [0x180327950]
jmp 0x18009320e
cmp edx, 0x4e0
jb 0x18009320e
xor r8d, r8d
mov eax, dword [r8 + r15 + 0x9c4]
mov edx, eax
xor edx, dword [r8 + r15 + 0x9c8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + r15 + 0xff8]
shr edx, 1
xor ecx, edx
mov dword [r8 + r15 + 4], ecx
add r8, 4
cmp r8, 0x38c
jb 0x180093143
mov r8d, 0x38c
nop dword [rax]
mov eax, dword [r15 + r8 + 0x9c4]
mov edx, eax
xor edx, dword [r15 + r8 + 0x9c8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r15 + r8 - 0x388]
mov dword [r15 + r8 + 4], ecx
add r8, 4
cmp r8, 0x9bc
jb 0x180093190
mov edx, dword [0x180328cd0]
and edx, ebx
mov eax, dword [0x180327954]
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [0x180327f84]
mov dword [0x180328310], ecx
xor edx, edx
mov dword [0x180327950], edx
mov eax, edx
mov ecx, dword [r15 + rax*4 + 4]
inc edx
mov dword [0x180327950], edx
mov eax, ecx
shr eax, 0xb
and eax, dword [0x180328cd4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
subss xmm7, xmm1
addss xmm7, xmm1
mulss xmm7, xmm3
addss xmm7, xmm7
subss xmm7, xmm2
mov rcx, r15
call fcn.180085660
mov eax, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
subss xmm6, xmm1
addss xmm6, xmm1
mulss xmm6, xmm3
addss xmm6, xmm6
subss xmm6, xmm2
movaps xmm8, xmm6
mulss xmm8, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm8, xmm0
comiss xmm2, xmm8
jbe 0x1800930d1
ucomiss xmm7, xmm1
jp 0x1800932b5
je 0x1800930d1
ucomiss xmm6, xmm1
jp 0x1800932c0
je 0x1800930d1
comiss xmm8, dword [0x18030b404]
jbe 0x1800932db
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movaps xmm1, xmm0
jmp 0x180093364
movaps xmm2, xmm6
movss xmm0, dword [0x18030b7d0]
andps xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movaps xmm1, xmm7
andps xmm1, xmm0
movss dword [rbp - 0x39], xmm1
lea rax, [rsp + 0x20]
lea rcx, [rbp - 0x39]
comiss xmm2, xmm1
cmovbe rax, rcx
movss xmm0, dword [rax]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_ilogbf]
mov edi, eax
mov ebx, eax
neg ebx
mov edx, ebx
movaps xmm0, xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbnf]
movaps xmm7, xmm0
mov edx, ebx
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbnf]
movaps xmm8, xmm0
mulss xmm8, xmm8
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm8, xmm1
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x18030b4d0]
addss xmm1, xmm0
mulss xmm1, dword [0x18030b650]
divss xmm1, xmm8
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180093382
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x18009338d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mulss xmm6, xmm7
mulss xmm6, xmm10
addss xmm6, xmm9
movss dword [rbp - 0x39], xmm6
mov eax, dword [0x18031f888]
test eax, eax
jne 0x1800933cd
lea rax, [rbp - 0x39]
movss xmm0, dword [r13]
comiss xmm0, xmm6
cmova rax, r13
comiss xmm6, dword [r12]
cmova rax, r12
movss xmm6, dword [rax]
jmp 0x1800936e0
cmp eax, 1
jne 0x1800936e0
mov rcx, r15
call fcn.180085660
mov ecx, eax
lea r14, [rcx + rcx*2]
test r14d, r14d
jne 0x180093404
nop dword [rax]
mov rcx, r15
call fcn.180085660
mov ecx, eax
lea r14, [rcx + rcx*2]
cmp r14d, 1
jb 0x1800933f0
shr r14, 0x20
mov rcx, r15
call fcn.180085660
mov ecx, eax
lea rsi, [rcx + rcx*2]
cmp esi, 3
jae 0x180093433
cmp esi, 1
jae 0x180093433
mov rcx, r15
call fcn.180085660
mov ecx, eax
lea rsi, [rcx + rcx*2]
cmp esi, 1
jb 0x180093420
shr rsi, 0x20
lea rdx, [rbp - 0x69]
mov rcx, qword [0x1803215f0]
call fcn.180067240
nop
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.180069d60
mov r15, rax
mov rdi, qword [0x180320fb8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x79], xmm1
mov r8d, 6
lea rdx, str.ENTITY
lea rcx, [rsp + 0x40]
call fcn.1800054a0
nop
lea rdx, [rsp + 0x40]
lea rcx, [0x1803214f8]
call fcn.18006fab0
mov rbx, rax
mov rdx, rdi
lea rcx, [0x1803214f8]
call fcn.18006f810
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp - 0x51], rdi
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x49], rax
mov rdx, qword [r15 + 8]
cmp rdx, rax
jne 0x1800934dc
mov bl, 1
jmp 0x1800934ff
test rdx, rdx
je 0x1800934fd
test r8, r8
je 0x1800934fd
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
sete bl
jmp 0x1800934ff
xor bl, bl
mov rdx, qword [rbp - 0x71]
cmp rdx, 0xf
jbe 0x18009353e
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180093539
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180093539
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800a96d4
movdqa xmm0, xmmword [0x18030b6b0]
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rsp + 0x40], 0
cmp byte [rsp + 0x38], 0
je 0x180093586
cmp qword [0x180320fb8], 0
je 0x180093586
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x180093586
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x30], 0
cmp byte [rbp - 0x59], 0
je 0x1800935b1
cmp qword [0x180320fb8], 0
je 0x1800935b1
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x1800935b1
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
cvttss2si ecx, dword [r13]
cvttss2si eax, dword [r12]
sub ecx, r14d
mov r14d, 0x80000000
test bl, bl
je 0x180093644
lea edx, [rax + rsi]
lea eax, [rcx - 0x80000000]
lea esi, [rcx + r14]
cmp ecx, r14d
cmovae esi, eax
lea eax, [rdx - 0x80000000]
lea r8d, [rdx + r14]
cmp edx, r14d
cmovae r8d, eax
sub r8d, esi
cmp r8d, 0xffffffff
je 0x180093673
lea ebx, [r8 + 1]
lea r15, [0x180327950]
mov rcx, r15
call fcn.180085660
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1800936c2
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1800936c2
nop dword [rax]
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x180093630
jmp 0x1800936c2
add ecx, 0xfffffffc
lea edx, [rax - 4]
add edx, esi
lea eax, [rcx - 0x80000000]
lea esi, [rcx + r14]
cmp ecx, r14d
cmovae esi, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r14]
cmp edx, r14d
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x180093683
lea rcx, [0x180327950]
call fcn.180085660
mov ecx, eax
jmp 0x1800936c6
lea ebx, [rcx + 1]
lea r15, [0x180327950]
mov rcx, r15
call fcn.180085660
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1800936c2
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1800936c2
nop
mov rcx, r15
call fcn.180085660
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1800936b0
shr rcx, 0x20
lea edx, [rsi + rcx]
lea ecx, [rdx - 0x80000000]
cmp edx, r14d
lea eax, [rdx + r14]
cmovae ecx, eax
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
lea rcx, [rbp - 0x39]
call fcn.1800921e0
mov rcx, qword [rax]
mov qword [0x180328ce8], rcx
cvttss2si ecx, xmm6
mov eax, 0x3e8
cdq
idiv ecx
movsxd rcx, eax
mov qword [0x180328cf0], rcx
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1800a9110
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret