Function at 0x14004c2d4
Capabilities:
Encode data using xor
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2d8]
sub rsp, 0x3b0
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14036cbc0]
xor rax, rsp
mov qword [rbp + 0x200], rax
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x44], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x48], xmm1
call fcn.14000a848
mov rdi, rax
mov qword [rsp + 0x70], rax
mov r15, qword [0x14036db08]
mov rsi, qword [0x14036db10]
mov qword [rsp + 0x68], rsi
or r13, 0xffffffffffffffff
movss xmm6, dword [0x14012ad74]
cmp r15, rsi
je 0x14004db13
movss xmm7, dword [0x14012ad4c]
movsd xmm9, qword [0x1401301d0]
mov r8d, WSAStartup
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0xc0]
call fcn.140048cb4
xor r8d, r8d
mov rdx, qword [r15 + 8]
lea rcx, [rbp - 0x80]
call fcn.140048cb4
movups xmm13, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x40], xmm13
movsd xmm15, qword [rbp - 0x70]
movsd qword [rbp + 0x50], xmm15
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.140055a1c
movsd xmm8, qword [rbp + 0xc0]
movsd qword [rbp - 0x80], xmm8
movsd xmm10, qword [rbp + 0xc8]
movsd qword [rbp - 0x78], xmm10
movsd xmm11, qword [rbp + 0xd0]
movsd qword [rbp - 0x70], xmm11
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xa0]
call fcn.140055a1c
movaps xmm14, xmm13
unpckhpd xmm14, xmm13
movaps xmm0, xmm14
subsd xmm0, qword [0x14036db28]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm7
call fcn.140125376
movaps xmm6, xmm0
movaps xmm0, xmm13
subsd xmm0, qword [0x14036db20]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm7
call fcn.140125376
addss xmm6, xmm0
movaps xmm1, xmm15
subsd xmm1, qword [0x14036db30]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm7
call fcn.140125376
addss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
mov rbx, qword [0x14036d770]
movd xmm1, dword [rbx + 4]
cvtdq2ps xmm1, xmm1
divss xmm7, xmm1
movsd xmm6, qword [rbp + 0xa8]
movsd qword [rsp + 0x48], xmm6
movaps xmm1, xmm6
movsd xmm0, qword [rbp + 0x68]
movsd qword [rbp - 0x50], xmm0
subsd xmm1, xmm0
andps xmm1, xmm9
cvtpd2ps xmm12, xmm1
movaps xmm9, xmm12
mulss xmm9, dword [rbx + 0x74]
cmp byte [rbx + 0x4b], r14b
je 0x14004c50e
cmp qword [r15 + 0x48], r14
je 0x14004c4f1
movups xmm0, xmmword [0x1401731f0]
jmp 0x14004c515
mov rcx, qword [r15 + 8]
call fcn.140052bc4
mov rbx, qword [0x14036d770]
test al, al
jne 0x14004c50e
movups xmm0, xmmword [0x14036dad0]
jmp 0x14004c515
movups xmm0, xmmword [0x14036dae0]
movups xmmword [rsp + 0x58], xmm0
movsd xmm1, qword [rbp + 0xa0]
movsd qword [rsp + 0x50], xmm1
cmp byte [rbx + 0x49], r14b
je 0x14004d846
movd xmm0, dword [rbx + 0xa0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x14004d846
cmp byte [rbx + 0x4d], r14b
je 0x14004c6f7
mov edi, r14d
cmp dword [rbx + 0x14], r14d
jle 0x14004c6f2
mov r8d, edi
mov rdx, qword [r15 + 8]
lea rcx, [rbp + 0xc0]
call fcn.140048cb4
movups xmm0, xmmword [rbp + 0xc0]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rbp + 0xd0]
movsd qword [rbp - 0x70], xmm1
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xb0]
call fcn.140055a1c
mov edx, edi
lea rcx, [rbp + 0xe0]
call fcn.140042638
or r12d, 1
movups xmm0, xmmword [0x140173210]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.140008244
mov ebx, eax
mov rcx, qword [0x14036d770]
movss xmm6, dword [rcx + 0x9c]
movsd xmm1, qword [rbp + 0xb8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0xb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rdx, qword [rbp + 0xe0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], r14
mov r8, r13
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004c623
lea rcx, [rbp + 0x100]
call fcn.14002f578
nop
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm6
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x100]
mov rcx, qword [0x14036d490]
call fcn.140047e28
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004c69f
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c699
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dac6
call fcn.1400ba308
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x14004c6e0
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c6db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db0c
call fcn.1400ba308
inc edi
mov rbx, qword [0x14036d770]
cmp edi, dword [rbx + 0x14]
jl 0x14004c55d
mov rdi, qword [rsp + 0x70]
inc dword [rbx + 0x7c]
movsd xmm0, qword [rbp + 0x60]
movsd qword [rbp - 0x80], xmm0
mov rax, qword [0x14036d770]
cmp byte [rax + 0x54], r14b
je 0x14004c736
movsd xmm2, qword [rbp - 0x50]
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm0
unpcklps xmm0, xmm2
movq rcx, xmm0
call fcn.14004a410
test al, al
je 0x14004c755
mov rax, qword [0x14036d770]
cmp byte [rax + 0x4c], r14b
je 0x14004c8d3
cmp byte [rax + 0x4b], r14b
je 0x14004c77e
cmp qword [r15 + 0x48], r14
je 0x14004c761
movups xmm0, xmmword [0x1401731f0]
jmp 0x14004c785
mov rbx, qword [0x14036d770]
jmp 0x14004d8ea
mov rcx, qword [r15 + 8]
call fcn.140052bc4
test al, al
mov rax, qword [0x14036d770]
jne 0x14004c77e
movups xmm0, xmmword [0x14036dad0]
jmp 0x14004c785
movups xmm0, xmmword [0x14036dae0]
movups xmmword [rbp - 0x48], xmm0
cmp byte [rax + 0xb2], r14b
je 0x14004c8bb
movsd qword [rbp + 0xc0], xmm8
movsd qword [rbp + 0xc8], xmm10
movsd qword [rbp + 0xd0], xmm11
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x60]
call fcn.140055a1c
addss xmm7, dword [0x14012ad74]
movss xmm0, dword [0x140131720]
divss xmm0, xmm7
movss xmm1, dword [0x14012ad4c]
movaps xmm7, xmm1
maxss xmm7, xmm0
mov rax, qword [0x14036d770]
cmp byte [rax + 0xad], r14b
je 0x14004c860
movd xmm6, dword [rax + 0x84]
cvtdq2ps xmm6, xmm6
addss xmm6, xmm1
movaps xmm0, xmmword [0x1401317b0]
movups xmmword [rbp + 0x80], xmm0
lea rcx, [rbp + 0x80]
call fcn.140008244
movsd xmm1, qword [rbp - 0x58]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp - 0x60]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_30
mov r9d, eax
movaps xmm2, xmm7
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.14001b14c
mov rax, qword [0x14036d770]
movd xmm6, dword [rax + 0x84]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp - 0x48]
call fcn.140008244
movsd xmm1, qword [rbp - 0x58]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp - 0x60]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_35
mov r9d, eax
movaps xmm2, xmm7
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.14001b14c
movups xmm0, xmmword [rbp - 0x48]
mov rax, qword [0x14036d770]
movdqa xmmword [rbp + 0x40], xmm0
lea r8, [rbp + 0x40]
mov dl, byte [rax + 0xad]
mov rcx, qword [r15 + 8]
call fcn.14004ea9c
call fcn.14000adac
mov rsi, rax
mov qword [rbp + 0x40], rax
mov rcx, qword [0x14036d770]
cmp byte [rcx + 0x4a], r14b
je 0x14004cad4
movd xmm6, dword [rcx + 0x6c]
cvtdq2ps xmm6, xmm6
movd xmm0, dword [rcx + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1401316c8]
cvtpd2ps xmm7, xmm0
cmp byte [rcx + 0xab], r14b
je 0x14004c9d0
movaps xmm0, xmmword [0x1401317b0]
movups xmmword [rbp + 0xc0], xmm0
lea rcx, [rbp + 0xc0]
call fcn.140008244
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
movsd xmm4, qword [rsp + 0x48]
addsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
movaps xmm1, xmm9
mulss xmm1, dword [0x14012ad18]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd xmm10, qword [rsp + 0x50]
movaps xmm2, xmm10
subsd xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm9
addsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm3
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm0, xmm2
movss dword [rbp - 0x18], xmm0
movss dword [rbp - 0x14], xmm1
cvtps2pd xmm1, xmm7
mulsd xmm1, qword [0x1401316d8]
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.14001d3ec
jmp 0x14004c9d7
movsd xmm10, qword [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.140008244
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
movsd xmm12, qword [rsp + 0x48]
addsd xmm0, xmm12
cvtpd2ps xmm8, xmm0
movaps xmm1, xmm9
mulss xmm1, dword [0x14012ad18]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm2, xmm10
subsd xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm9
addsd xmm1, xmm2
cvtpd2ps xmm9, xmm1
movss dword [rbp - 0x10], xmm9
movss dword [rbp - 0xc], xmm8
cvtpd2ps xmm10, xmm12
cvtpd2ps xmm11, xmm2
movss dword [rbp - 8], xmm11
movss dword [rbp - 4], xmm10
movss dword [rsp + 0x30], xmm7
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.14001d3ec
mov rax, qword [0x14036d770]
cmp byte [rax + 0xac], r14b
je 0x14004cadb
movaps xmm0, xmmword [0x140131790]
movups xmmword [rbp + 0xc0], xmm0
lea rcx, [rbp + 0xc0]
call fcn.140008244
movss dword [rbp], xmm9
movss dword [rbp + 4], xmm8
movss dword [rbp + 8], xmm11
movss dword [rbp + 0xc], xmm10
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp]
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.14001d4ec
jmp 0x14004cadb
movsd xmm12, qword [rsp + 0x48]
mov byte [rsp + 0x40], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], r14
mov qword [rbp + 0x198], r14
lea rax, [rsp + 0x40]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14004cb00
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x180]
call fcn.14002f578
nop
mov rbx, qword [0x14036d770]
cmp byte [rbx + 0x56], r14b
je 0x14004ceb7
mov al, byte [rbx + 0x90]
neg al
sbb edi, edi
and edi, 0xc
add edi, 0xf
subsd xmm14, qword [0x14036db28]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm14
movss xmm7, dword [0x14012ad4c]
movaps xmm1, xmm7
call fcn.140125376
movaps xmm6, xmm0
subsd xmm13, qword [0x14036db20]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm13
movaps xmm1, xmm7
call fcn.140125376
addss xmm6, xmm0
subsd xmm15, qword [0x14036db30]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm15
movaps xmm1, xmm7
call fcn.140125376
addss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [rbx + 4]
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
cvttss2si r10d, xmm0
movzx eax, word [0x140130bd8]
mov word [rsp + 0x44], ax
cmp byte [reloc.WLDAP32.dll_Ordinal_50], r14b
je 0x14004cc00
mov r8d, r14d
lea r9, [rsp + 0x44]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 2
jl 0x14004cbd0
mov edx, r10d
lea rcx, [rbp + 0xe0]
call fcn.140042638
or r12d, 0x10
mov byte [rsp + 0x40], r14b
lea rax, [rsp + 0x40]
mov r9, r13
inc r9
cmp byte [rax + r9], r14b
jne 0x14004cc20
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [rbp + 0xe0]
call fcn.140052ae0
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x158], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x150], xmm1
mov ebx, reloc.WS2_32.dll_ntohs
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], r14
mov byte [rax], r14b
lea rax, [rsp + 0x44]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14004cc81
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x140]
call fcn.14003f2c0
movups xmm7, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm6
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], rbx
mov byte [rax], r14b
or r12d, 0x60
mov rdx, qword [rbp + 0x158]
cmp rdx, rbx
jbe 0x14004ccff
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ccfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dacd
call fcn.1400ba308
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x158], rbx
mov byte [rbp + 0x140], r14b
mov rdx, qword [rbp + 0xf8]
cmp rdx, rbx
jbe 0x14004cd54
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cd4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dad4
call fcn.1400ba308
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf8], rbx
mov byte [rbp + 0xe0], r14b
lea rcx, [rsp + 0x58]
call fcn.140008244
mov ebx, eax
mov rcx, qword [0x14036d770]
movss xmm8, dword [rcx + 0x9c]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm12
subsd xmm1, xmm0
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
movsd xmm9, qword [rsp + 0x50]
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm2
lea rdx, [rbp + 0xc0]
movq rcx, xmm7
psrldq xmm6, 8
movq rax, xmm6
cmp rax, 0xf
cmova rdx, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], r14
mov r8, r13
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004cdeb
lea rcx, [rbp + 0x100]
call fcn.14002f578
nop
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x60]
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm8
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x100]
mov rcx, qword [rcx + 0x38]
call fcn.140047e28
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004ce6d
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ce67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dadb
call fcn.1400ba308
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0xf
jbe 0x14004ceae
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cea9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db05
call fcn.1400ba308
mov rbx, qword [0x14036d770]
jmp 0x14004cebe
movsd xmm9, qword [rsp + 0x50]
cmp byte [rbx + 0x90], r14b
je 0x14004d360
mov rcx, qword [r15 + 0x38]
add rcx, 0xaf0
call fcn.140043184
mov rdi, rax
test rax, rax
jne 0x14004cf71
mov eax, dword [str.sg4sg4sg4ip]
mov dword [rsp + 0x44], eax
cmp byte [0x14013061f], r14b
je 0x14004cf32
mov r8d, r14d
lea r9, [rsp + 0x44]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 4
jl 0x14004cf02
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
lea rax, [rsp + 0x44]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14004cf52
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0xc0]
call fcn.14002f578
jmp 0x14004d220
lea rcx, [rax + 0x10]
call fcn.14004301c
movsxd rbx, eax
mov r14, rbx
test eax, eax
jne 0x14004d000
mov eax, dword [0x140130620]
mov dword [rsp + 0x44], eax
xor r14d, r14d
cmp byte [0x140130623], r14b
je 0x14004cfd2
mov r8d, r14d
lea r9, [rsp + 0x44]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 4
jl 0x14004cfa2
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
lea rax, [rsp + 0x44]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14004cff2
jmp 0x14004cf5b
lea rcx, [rdi + 8]
call fcn.140043184
mov rsi, rax
test rax, rax
jne 0x14004d0a2
mov eax, dword [0x140130624]
mov dword [rsp + 0x44], eax
xor r14d, r14d
cmp byte [0x140130627], r14b
je 0x14004d063
mov r8d, r14d
lea r9, [rsp + 0x44]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 4
jl 0x14004d033
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
lea rax, [rsp + 0x44]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14004d083
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0xc0]
call fcn.14002f578
jmp 0x14004d21c
mov eax, 2
mul r14
cmovb rax, r13
mov rcx, rax
call fcn.1400ba900
mov rdi, rax
lea r8d, [rbx + rbx]
mov rdx, rax
mov rcx, rsi
call fcn.1400536f0
xor r14d, r14d
mov r8d, r14d
mov rdx, rdi
lea ecx, [rbx - 1]
and ecx, 3
dec ebx
lea esi, [r14 + 7]
cmp r8d, ebx
jge 0x14004d0f7
add ecx, 3
inc r8d
movzx eax, cx
and ax, si
add word [rdx], ax
add rdx, 2
jmp 0x14004d0dd
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], r14
mov r8, r13
inc r8
cmp word [rdi + r8*2], r14w
jne 0x14004d112
mov rdx, rdi
lea rcx, [rbp + 0x120]
call fcn.140041520
nop
mov rcx, rdi
call fcn.1400ba308
lea rcx, [rbp + 0x120]
mov r9, qword [rbp + 0x138]
cmp r9, rsi
seta dl
mov r8, qword [rbp + 0x120]
cmova rcx, r8
mov rax, qword [rbp + 0x130]
lea r10, [rcx + rax*2]
lea rax, [rbp + 0x120]
test dl, dl
cmovne rax, r8
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
cmp rax, r10
jne 0x14004d1a3
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], r14b
jmp 0x14004d1cc
mov r9, r10
sub r9, rax
sar r9, 1
mov r8, r10
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.1400416f0
mov r9, qword [rbp + 0x138]
mov r8, qword [rbp + 0x120]
cmp r9, rsi
jbe 0x14004d206
lea rdx, [r9*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x14004d1fe
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dae2
mov rcx, r8
call fcn.1400ba308
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], rsi
mov word [rbp + 0x120], r14w
mov rsi, qword [rbp + 0x40]
bts r12d, 7
lea rcx, [rsp + 0x58]
call fcn.140008244
mov ebx, eax
mov rcx, qword [0x14036d770]
movss xmm6, dword [rcx + 0x9c]
movaps xmm0, xmm12
subsd xmm0, qword [0x1401316e8]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm9
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0xf
cmova rdx, qword [rbp + 0xc0]
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf8], r14
mov r8, r13
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004d297
lea rcx, [rbp + 0xe0]
call fcn.14002f578
nop
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x60]
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm6
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0xe0]
mov rcx, qword [rcx + 0x38]
call fcn.140047e28
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x14004d318
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d312
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dae9
call fcn.1400ba308
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0xf
jbe 0x14004d359
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d354
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004daf0
call fcn.1400ba308
mov rbx, qword [0x14036d770]
cmp byte [rbx + 0x95], r14b
je 0x14004d4c3
mov rdx, qword [r15 + 0x38]
lea rcx, [rbp + 0x100]
call fcn.14004f300
nop
lea rcx, [0x1401732a0]
call fcn.140008244
mov ebx, eax
mov rcx, qword [0x14036d770]
movss xmm6, dword [rcx + 0x9c]
movsd xmm11, qword [rbp - 0x50]
movaps xmm0, xmm11
addsd xmm0, qword [0x1401316d0]
cvtpd2ps xmm1, xmm0
movsd xmm10, qword [rbp - 0x80]
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm1
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rdx, qword [rbp + 0x100]
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf8], r14
mov r8, r13
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004d3f8
lea rcx, [rbp + 0xe0]
call fcn.14002f578
nop
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x60]
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm6
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0xe0]
mov rcx, qword [rcx + 0x38]
call fcn.140047e28
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x14004d479
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d473
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004daf7
call fcn.1400ba308
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004d4ba
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d4b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db05
call fcn.1400ba308
mov rbx, qword [0x14036d770]
jmp 0x14004d4cf
movsd xmm10, qword [rbp - 0x80]
movsd xmm11, qword [rbp - 0x50]
cmp qword [0x14036d6c0], r14
je 0x14004d72d
cmp byte [rbx + 0x91], r14b
je 0x14004d72d
mov al, byte [rbx + 0x95]
neg al
sbb ebx, ebx
and ebx, 0xb
inc ebx
mov rax, qword [0x14036d7c0]
mov rcx, qword [rax + 0x88]
add rcx, qword [r15 + 0x38]
call fcn.14004301c
mov byte [rsp + 0x40], r14b
mov edx, eax
lea rcx, [rbp + 0x1c0]
call fcn.140042638
bts r12d, 9
mov eax, dword [0x140130bdc]
mov dword [rsp + 0x44], eax
cmp byte [str.4tVYSD], r14b
je 0x14004d572
mov r8d, r14d
lea r9, [rsp + 0x44]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 4
jl 0x14004d542
lea r8, [rbp + 0x1c0]
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x1e0]
call fcn.1400412a0
nop
lea rcx, [rsp + 0x40]
mov r8, r13
inc r8
cmp byte [rcx + r8], r14b
jne 0x14004d593
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14003f2c0
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r14b
bts r12d, 8
lea rcx, [rbp + 0x1e0]
call fcn.1400319f8
nop
lea rcx, [rbp + 0x1c0]
call fcn.1400319f8
lea rcx, [rsp + 0x58]
call fcn.140008244
mov edi, eax
mov rcx, qword [0x14036d770]
movss xmm8, dword [rcx + 0x9c]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm11
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm10
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
lea rdx, [rbp + 0xc0]
movq rcx, xmm6
psrldq xmm7, 8
movq rax, xmm7
cmp rax, 0xf
cmova rdx, rcx
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf8], r14
mov r8, r13
inc r8
cmp byte [rdx + r8], r14b
jne 0x14004d663
lea rcx, [rbp + 0xe0]
call fcn.14002f578
nop
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x60]
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], edi
movaps xmm3, xmm8
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0xe0]
mov rcx, qword [rcx + 0x38]
call fcn.140047e28
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x14004d6e5
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d6df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004dafe
call fcn.1400ba308
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0xf
jbe 0x14004d726
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d721
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db05
call fcn.1400ba308
mov rbx, qword [0x14036d770]
cmp byte [rbx + 0x4e], r14b
je 0x14004d7e8
mov eax, dword [rbx + 0x68]
test eax, eax
jne 0x14004d754
lea rcx, [rsp + 0x58]
call fcn.140008244
mov ecx, dword [0x14036d74c]
shr ecx, 1
xor edx, edx
jmp 0x14004d773
cmp eax, 1
jne 0x14004d7a3
lea rcx, [rsp + 0x58]
call fcn.140008244
mov edx, dword [0x14036d750]
shr edx, 1
mov ecx, dword [0x14036d74c]
shr ecx, 1
movss xmm0, dword [0x14012ad40]
movss dword [rsp + 0x28], xmm0
movsd xmm6, qword [rsp + 0x48]
mov dword [rsp + 0x20], eax
cvttsd2si r8d, xmm9
cvttsd2si r9d, xmm6
call fcn.140047d98
mov rbx, qword [0x14036d770]
jmp 0x14004d7ee
cmp eax, 2
jne 0x14004d7e8
lea rcx, [rsp + 0x58]
call fcn.140008244
mov ecx, dword [0x14036d74c]
shr ecx, 1
cvttsd2si r9d, xmm11
cvttsd2si r8d, xmm10
movss xmm0, dword [0x14012ad40]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], eax
mov edx, dword [0x14036d750]
call fcn.140047d98
mov rbx, qword [0x14036d770]
movsd xmm6, qword [rsp + 0x48]
mov rdx, qword [rbp + 0x198]
cmp rdx, 0xf
jbe 0x14004d836
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d82a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db0c
call fcn.1400ba308
mov rbx, qword [0x14036d770]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
movsd xmm1, qword [rsp + 0x50]
mov eax, dword [0x14036d74c]
shr eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm1, xmm0
mov eax, dword [0x14036d750]
shr eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm6, xmm0
mulsd xmm6, xmm6
mulsd xmm1, xmm1
addsd xmm6, xmm1
cvtpd2ps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [rbx + 0x14]
comiss xmm1, xmm0
jbe 0x14004d8ea
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movsd xmm0, qword [0x14036d730]
comisd xmm0, xmm6
jbe 0x14004d8ea
cmp byte [rbx + 0x3c], r14b
je 0x14004d8d1
cmp qword [r15 + 0x48], r14
jne 0x14004d8ea
cmp byte [rbx + 0x21], r14b
jne 0x14004d8d7
mov rcx, qword [r15 + 8]
call fcn.140052bc4
test al, al
je 0x14004c755
mov rbx, qword [0x14036d770]
jmp 0x14004d8d7
cmp byte [rbx + 0x21], r14b
jne 0x14004d8b7
movsd qword [0x14036d730], xmm6
mov rax, qword [r15 + 0x10]
mov qword [0x14036d728], rax
add r15, 0x58
cmp r15, rsi
jne 0x14004c399
movss xmm6, dword [0x14012ad74]
movd xmm1, dword [rbx + 0x14]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x14036d49c]
addss xmm0, dword [0x140131710]
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x14036d724], eax
cmp byte [rbx + 0x94], r14b
je 0x14004dcd8
call fcn.14000adac
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x60]
mov rcx, qword [rcx + 0x18]
call fcn.140012730
call fcn.14000a848
mov rdi, rax
mov byte [rsp + 0x40], r14b
mov rcx, qword [0x14036d770]
mov edx, dword [rcx + 0x7c]
lea rcx, [rbp + 0x1a0]
call fcn.140042638
nop
movups xmm0, xmmword [0x140130be0]
movups xmmword [rbp + 0xc0], xmm0
mov eax, dword [0x140130bf0]
mov dword [rbp + 0xd0], eax
cmp byte [0x140130bf3], r14b
je 0x14004d9c9
mov r8d, r14d
lea r9, [rbp + 0xc0]
mov eax, 0x24924925
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
inc r9
cmp r8d, 0x14
jl 0x14004d999
lea rax, [rbp + 0xc0]
mov r9, r13
inc r9
cmp byte [rax + r9], r14b
jne 0x14004d9d3
lea r8, [rbp + 0xc0]
xor edx, edx
lea rcx, [rbp + 0x1a0]
call fcn.140052ae0
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x170], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x170], xmm1
mov esi, reloc.WS2_32.dll_ntohs
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], r14
mov byte [rax], r14b
lea rax, [rsp + 0x40]
inc r13
cmp byte [rax + r13], r14b
jne 0x14004da30
mov r8, r13
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x160]
call fcn.14003f2c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x110], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x110], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], rsi
mov byte [rax], r14b
mov rdx, qword [rbp + 0x178]
mov r15d, 0x1000
cmp rdx, rsi
jbe 0x14004db24
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, r15
jb 0x14004db1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004db1f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rbx, qword [0x14036d770]
jmp 0x14004d8ff
call fcn.1400ba308
movdqa xmm0, xmmword [0x140131730]
movdqu xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x160], r14b
mov rdx, qword [rbp + 0x1b8]
cmp rdx, rsi
jbe 0x14004db7a
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, r15
jb 0x14004db75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004db75
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400ba308
movdqa xmm0, xmmword [0x140131730]
movdqu xmmword [rbp + 0x1b0], xmm0
mov byte [rbp + 0x1a0], r14b
mov eax, dword [0x14036d750]
shr eax, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
subss xmm0, dword [0x1401316f8]
mov dword [rsp + 0x78], 0x41200000
movss dword [rsp + 0x7c], xmm0
addss xmm2, dword [0x1401316f8]
mov dword [rbp + 0x20], 0x431b0000
movss dword [rbp + 0x24], xmm2
movaps xmm1, xmmword [0x1401317a0]
movups xmmword [rbp + 0xc0], xmm1
lea rcx, [rbp + 0xc0]
call fcn.140008244
mov r9d, eax
mov dword [rsp + 0x28], r14d
movss xmm0, dword [0x14012ad54]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x20]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.14001d4ec
lea rbx, [rbp + 0x100]
cmp qword [rbp + 0x118], rsi
cmova rbx, qword [rbp + 0x100]
movaps xmm0, xmmword [0x1401317e0]
movups xmmword [rbp + 0xc0], xmm0
lea rcx, [rbp + 0xc0]
call fcn.140008244
movss xmm1, dword [rsp + 0x7c]
addss xmm1, dword [0x14012ad5c]
movss xmm0, dword [rsp + 0x78]
addss xmm0, xmm6
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
mov qword [rsp + 0x20], r14
mov r9, rbx
mov r8d, eax
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.14001ea20
mov rax, qword [0x14036d770]
cmp dword [rax + 0x7c], r14d
je 0x14004dc8c
mov dword [rax + 0x7c], r14d
call fcn.1400124a4
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, rsi
jbe 0x14004dcd1
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, r15
jb 0x14004dccc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004dccc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400ba308
mov rbx, qword [0x14036d770]
cmp byte [rbx + 0x10], r14b
je 0x14004de82
cmp qword [0x14036d6e8], r14
je 0x14004de82
cmp qword [0x14036d728], r14
je 0x14004de82
mov ecx, dword [rbx + 8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14004dd17
call fcn.14004a478
test al, al
je 0x14004de82
mov rax, qword [0x14036d7c0]
mov rcx, qword [rax + 0x78]
add rcx, qword [0x14036d728]
call fcn.140043184
mov rbx, rax
test rax, rax
je 0x14004de82
mov r8d, dword [0x14036db90]
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.140048cb4
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140048cb4
movups xmm0, xmmword [rbp + 0xc0]
movaps xmmword [rbp + 0x80], xmm0
movsd xmm1, qword [rbp + 0xd0]
movsd qword [rbp + 0x90], xmm1
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x60]
call fcn.140055a1c
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0xc0], xmm0
movsd xmm1, qword [rbp + 0x70]
movsd qword [rbp + 0xd0], xmm1
lea rdx, [rbp + 0xc0]
lea rcx, [0x14036db20]
call fcn.14004ea14
movaps xmm2, xmm0
mov rax, qword [0x14036d770]
movd xmm1, dword [rax + 4]
cvtdq2ps xmm1, xmm1
divss xmm2, xmm1
mov ecx, dword [rax + 0x34]
test ecx, ecx
jne 0x14004dde1
mov dword [0x14036db90], 0x6e
jmp 0x14004de04
cmp ecx, 1
jne 0x14004ddf2
mov dword [0x14036db90], 0x43
jmp 0x14004de04
add ecx, 0xfffffffe
cmp ecx, 1
ja 0x14004de04
mov dword [0x14036db90], 2
movd xmm0, dword [rax + 0x1c]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x14004de82
movsd xmm1, qword [rbp - 0x58]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp - 0x60]
cvtpd2ps xmm0, xmm0
call fcn.140053240
mov rax, qword [0x14036d770]
cmp byte [rax + 0x20], r14b
je 0x14004de82
movups xmm0, xmmword [0x1401731d0]
movups xmmword [rbp + 0xc0], xmm0
lea rcx, [rbp + 0xc0]
call fcn.140008244
cvttsd2si r9d, qword [rbp - 0x58]
cvttsd2si r8d, qword [rbp - 0x60]
mov edx, dword [0x14036d750]
shr edx, 1
mov ecx, dword [0x14036d74c]
shr ecx, 1
movss xmm0, dword [0x1401316b0]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], eax
call fcn.140047d98
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400ba780
lea r11, [rsp + 0x3b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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 xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret