Function at 0x1800052d8
Capabilities:
Allocate or change rwx memory
Allocate thread local storage
Check os version
Execute shellcode via indirect call
Get disk information
Identify system language via api
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov qword [rax - 0xb0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
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
mov rax, qword [0x18003f008]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov rsi, rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xc0], rcx
rdtscp
lea r8, [rsp + 0x130]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov r9d, 0x989680
cmp rax, r9
jbe 0x180005371
mov ebx, 0x63b2f67
jmp 0x180005394
rdtscp
lea r8, [rsp + 0x130]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov rcx, rax
xor edx, edx
mov rax, r9
div rcx
mov rbx, rax
rdtscp
lea r8, [rsp + 0x130]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov ecx, eax
imul r15, rcx, 0x6e40
movabs rax, 0x58ed2308158ed231
mul r15
mov rax, r15
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
imul rax, rax, 0x5f
sub r15, rax
add r15d, 3
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x20], ebx
xor edi, edi
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rdi
mov eax, edi
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x98], rdi
xorps xmm11, xmm11
movsd qword [rsp + 0xd0], xmm11
movsd xmm0, qword [0x180038390]
movsd qword [rsp + 0x100], xmm0
movsd xmm12, qword [0x180038130]
movsd qword [rsp + 0xb0], xmm12
movsd xmm10, qword [0x1800383c0]
movsd qword [rsp + 0x78], xmm10
call fcn.180004d84
movaps xmm6, xmm0
movaps xmm0, xmm11
call fcn.180004d84
addsd xmm6, xmm0
mulsd xmm6, xmm12
movsd xmm7, qword [0x180038170]
divsd xmm6, xmm7
movsd qword [rsp + 0x68], xmm6
mov r14, qword [rsi]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x88], r14
lea eax, [rbx + rbx]
mov esi, ebx
cmp eax, r15d
cmovl esi, r15d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x130], esi
lea r12d, [rdi + 1]
movaps xmm0, xmm11
call fcn.180004d84
movaps xmm6, xmm0
movsd xmm0, qword [rsp + 0x100]
call fcn.180004d84
movaps xmm8, xmm0
addsd xmm8, xmm6
mulsd xmm8, xmm12
divsd xmm8, xmm7
movsd qword [rsp + 0x68], xmm8
mov eax, 0x5a4d
cmp word [r14], ax
jne 0x180005523
movsxd rcx, dword [r14 + 0x3c]
lea rax, [rcx - 0x40]
cmp rax, 0x3bf
ja 0x180005523
cmp dword [rcx + r14], 0x4550
jne 0x180005523
jmp 0x1800055ad
sub r14, r12
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x88], r14
jmp 0x1800054c5
mov r13, qword gs:[0x60]
mov rcx, rdi
mov qword [rsp + 0x50], rcx
cmp esi, r15d
je 0x180006a22
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0xa8], rax
mov r10, qword [rax + 0x20]
movsd xmm9, qword [0x180038148]
movzx eax, word [rsp + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0xf0], r10
movsxd r13, r15d
mov qword [rsp + 0xe0], r13
test r10, r10
je 0x180005dc2
mov r14d, esi
cmp esi, r15d
jle 0x180005745
movsxd rax, esi
cmp rax, r13
jne 0x1800056f9
cmp ebx, 0x25
jl 0x18000562e
xor ecx, ecx
call fcn.180004bbc
cmp al, 0x25
jge 0x180005623
movss xmm7, dword [0x180038458]
cvttss2si ecx, xmm7
call fcn.180004534
movsx ebx, al
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
movaps xmm0, xmm6
call fcn.1800047dc
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov cl, bl
call fcn.1800045fc
cvttss2si eax, xmm0
subss xmm6, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
cvttss2si eax, xmm6
cmp eax, 0x66
jne 0x180005636
lea ecx, [rax - 0x27]
call fcn.180004534
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
mov cl, 0x3f
call fcn.180004bbc
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
cvtps2pd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp eax, 0x65
jne 0x1800056f7
cmp eax, 0x75
cmovle eax, r12d
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp eax, 0x40
jne 0x1800056ea
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov cl, 0x10
call fcn.180004bbc
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x180038340]
divsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov dword [rsp + 0x20], ebx
add r14d, r12d
cmp r14d, r15d
jle 0x180005740
jmp 0x180005612
jmp 0x1800056f7
mov r10, qword [rsp + 0xf0]
mov rax, qword [r10 + 0x50]
mov qword [rsp + 0xd8], rax
movzx r14d, word [r10 + 0x48]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x50], rdi
lea rcx, [r12 + r14]
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.18000af8c
mov rcx, rdi
jmp 0x18000574a
mov rcx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x30]
movzx r13d, r14w
test r14w, r14w
je 0x180005888
lea eax, [rsi + rsi]
mov esi, eax
mov r11, qword [rsp + 0xd8]
cmp esi, r15d
jl 0x180005776
call fcn.180006b64
mov ecx, eax
jmp 0x18000584d
movss xmm6, dword [0x180038350]
movaps xmm0, xmm6
call fcn.1800047dc
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
subss xmm0, xmm6
cvttss2si eax, xmm0
lea ecx, [rax + rax]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movaps xmm1, xmm6
mulss xmm1, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
cmp eax, 0x70
je 0x18000577e
mov ebx, 0x12
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
mov cl, bl
call fcn.180004bbc
mov rbx, rax
mov cl, al
call fcn.1800045fc
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm1
divsd xmm2, xmm2
cvttsd2si ecx, xmm2
cmp ecx, 0x7e
jg 0x1800057c2
mov r14d, 0x1d
cmp ecx, 0x26
jge 0x180005830
lea ebx, [r14 - 0xc]
call qword [sym.imp.GDI32.dll_GdiFlush]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
call fcn.1800047dc
movsx ebx, al
mov cl, r14b
call fcn.180004bbc
mov r14, rax
lea ecx, [rbx + rax]
cmp ecx, 0x26
jl 0x180005808
sub ecx, 5
neg ecx
sbb eax, eax
and eax, 0x66
mov ebx, eax
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x50]
mov r11, qword [rsp + 0xd8]
cmp byte [r11], 0x61
jb 0x18000585e
movzx eax, byte [r11]
sub eax, 0x20
cdqe
jmp 0x180005862
movzx eax, byte [r11]
add rcx, rax
mov qword [rsp + 0x50], rcx
add r11, r12
mov qword [rsp + 0xd8], r11
mov eax, 0xffff
add r13w, ax
jne 0x180005765
mov esi, dword [rsp + 0x28]
cmp ecx, 0x6a4abc5b
jne 0x180005cc4
mov r9, qword [rsp + 0xf0]
mov r9, qword [r9 + 0x20]
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xa8], r9
movsxd rax, dword [r9 + 0x3c]
mov r8d, dword [rax + r9 + 0x88]
add r8, r9
mov qword [rsp + 0x108], r8
mov ecx, dword [r8 + 0x20]
add rcx, r9
mov edx, dword [r8 + 0x24]
add rdx, r9
mov r14d, 3
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
test r14w, r14w
je 0x180005cbb
mov r13d, esi
mov dword [rsp + 0x28], esi
cmp esi, r15d
jle 0x180005a90
movsxd rax, esi
cmp rax, qword [rsp + 0xe0]
jne 0x180005a45
cmp ebx, 0x31
jne 0x18000594d
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
cvttsd2si rcx, qword [0x180038338]
lea rax, [rcx + 0x1a]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mulsd xmm0, qword [0x1800382d8]
subsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov r14b, 0x2a
mov dword [rsp + 0x70], 0x32
cmp ebx, r12d
jl 0x1800059a5
mov r13d, 0xb
mov r15d, dword [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
add r14b, r15b
movsx ebx, r14b
mov eax, r13d
cdq
idiv ebx
mov r15d, eax
mov cl, al
call fcn.1800045fc
cvttss2si ecx, xmm0
movsx r13d, cl
sub ebx, r15d
add ebx, r13d
cmp ebx, r12d
jge 0x180005968
mov r15, qword [rsp + 0xf8]
mov r13d, dword [rsp + 0x28]
mov al, 0x28
jmp 0x1800059ae
add al, al
movsx ebx, al
cmp ebx, 0x23
jge 0x1800059a9
cmp ebx, 0xf
jl 0x1800059c5
call qword [sym.imp.USER32.dll_DestroyCaret]
mov ecx, 0xdc
jmp 0x1800059d8
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov ecx, 0x6e
call fcn.180004534
movsx ecx, al
mov bl, 0x63
mov r14b, 0x18
jmp 0x1800059fa
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
movsx eax, bl
movsx ebx, bl
imul ebx, eax
add r14b, r14b
movsx eax, r14b
movsx ecx, bl
sub ecx, eax
cmp ecx, 0x6b
jle 0x1800059df
mov eax, 0xffffa178
cmp ecx, 0x4a
cmovg ecx, eax
mov ebx, ecx
mov dword [rsp + 0x20], ecx
add r13d, r12d
mov dword [rsp + 0x28], r13d
cmp r13d, r15d
movsxd rax, esi
jg 0x180005907
mov r9, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x108]
mov r14, qword [rsp + 0x30]
jmp 0x180005a90
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
mov r9, qword [rsp + 0xe8]
add rcx, r9
mov r10d, edi
mov al, byte [rcx]
ror r10d, 0xd
movsx eax, al
add r10d, eax
add rcx, r12
mov al, byte [rcx]
test al, al
jne 0x180005a5c
mov dword [rsp + 0x130], r10d
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x108]
mov r14, qword [rsp + 0x30]
jmp 0x180005a98
mov r10d, dword [rsp + 0x130]
mov r11d, 0xec0e4e8e
cmp r10d, r11d
je 0x180005ab9
cmp r10d, 0x7c0dfcaa
je 0x180005ab9
cmp r10d, 0x91afca54
jne 0x180005c9e
lea eax, [rsi + 4]
cmp eax, r15d
cmovle esi, r15d
movzx ecx, word [rdx]
mov qword [rsp + 0x70], rcx
mov r8d, dword [r8 + 0x1c]
add r8, r9
mov qword [rsp + 0x28], r8
cmp r10d, r11d
jne 0x180005af0
mov eax, dword [r8 + rcx*4]
add rax, r9
mov qword [rsp + 0x118], rax
jmp 0x180005c8b
cmp r10d, 0x7c0dfcaa
jne 0x180005be1
mov r14d, esi
cmp esi, r15d
jle 0x180005c86
lea r13d, [rsi + 4]
cmp r13d, r15d
jg 0x180005bc2
movss xmm1, dword [0x1800383f4]
movaps xmm0, xmm1
addss xmm0, xmm1
movaps xmm1, xmm0
cvttss2si eax, xmm0
cmp eax, 0x71
jne 0x180005b1e
mov cl, 0x18
call fcn.1800045fc
cvttss2si rax, xmm0
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
movaps xmm1, xmm2
mulss xmm1, dword [0x1800383e0]
subss xmm2, xmm1
cvttss2si eax, xmm2
mov cl, 0x21
mov ebx, eax
cmp eax, 0x38
jmp 0x180005b70
movsx eax, cl
movsx ecx, cl
imul ecx, eax
movsx ebx, cl
cmp ebx, 0x38
mov dword [rsp + 0x20], ebx
jl 0x180005b61
movsd xmm2, qword [0x1800381a8]
mov al, 0x7b
jmp 0x180005ba7
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm2
movaps xmm2, xmm0
mov al, r12b
movaps xmm1, xmm0
subsd xmm1, xmm9
cvttsd2si ebx, xmm1
mov dword [rsp + 0x20], ebx
cmp ebx, 0x64
jle 0x180005b82
add r14d, r12d
cmp r14d, r15d
jg 0x180005b0d
mov rdx, qword [rsp + 0x40]
jmp 0x180005c86
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx + rax*4]
add rax, qword [rsp + 0xe8]
mov qword [rsp + 0x120], rax
jmp 0x180005bb8
cmp r10d, 0x91afca54
jne 0x180005c8b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp eax, r15d
jl 0x180005c10
mov eax, dword [r8 + rcx*4]
add rax, r9
mov qword [rsp + 0x110], rax
mov rdx, qword [rsp + 0x40]
jmp 0x180005c8b
movss xmm6, dword [0x180038474]
jmp 0x180005c6b
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
cvttss2si ecx, xmm6
call fcn.180004534
movsx ebx, al
mov cl, bl
call fcn.180004bbc
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
cvttss2si ecx, xmm6
call fcn.1800045fc
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm6
subsd xmm1, xmm0
addsd xmm2, xmm1
cvttsd2si ebx, xmm2
mov dword [rsp + 0x20], ebx
cmp ebx, 0x5f
je 0x180005c1a
cmp ebx, 0x78
je 0x180005c09
mov cl, 0x5a
call fcn.1800045fc
cvttss2si ebx, xmm0
mov dword [rsp + 0x20], ebx
jmp 0x180005c09
mov r14, qword [rsp + 0x30]
mov eax, 0xffff
add r14w, ax
mov qword [rsp + 0x30], r14
mov rcx, qword [rsp + 0x48]
add rcx, 4
add rdx, 2
mov r9, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x108]
jmp 0x1800058e0
mov dword [rsp + 0x28], esi
mov rcx, qword [rsp + 0x50]
cmp qword [rsp + 0x118], rdi
je 0x180005db2
cmp qword [rsp + 0x120], rdi
je 0x180005db2
cmp qword [rsp + 0x110], rdi
je 0x180005db2
mov dword [rsp + 0x28], esi
cmp esi, r15d
jle 0x180005dc2
lea eax, [rsi + rsi]
cmp eax, r15d
jge 0x180005dc2
movsd xmm2, qword [0x180038210]
movsd xmm3, qword [0x180038158]
movaps xmm1, xmm3
divsd xmm2, xmm3
movaps xmm3, xmm2
divsd xmm3, xmm1
movaps xmm0, xmm3
mulsd xmm0, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp eax, 0x7f
jne 0x180005d17
lea r8d, [rax - 0x6f]
mov r9b, 0x46
mov eax, r8d
cdq
idiv r8d
mov r8d, eax
sub r9b, al
movsx ecx, r9b
cdq
idiv ecx
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp eax, 0x79
jg 0x180005d40
mov r14, r12
mov r13b, 0x23
jmp 0x180005d94
call qword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
mov cl, r14b
call fcn.1800045fc
cvttss2si ebx, xmm0
mov cl, r14b
call fcn.180004bbc
mov r14, rax
add r13b, bl
movsx eax, r13b
sub ebx, eax
sub ebx, r14d
mov dword [rsp + 0x20], ebx
cmp ebx, 0x77
jle 0x180005d67
mov eax, dword [rsp + 0x28]
add eax, r12d
mov dword [rsp + 0x28], eax
cmp eax, r15d
lea eax, [rsi + rsi]
jg 0x180005cfe
jmp 0x180005dc2
mov r10, qword [rsp + 0xf0]
mov r10, qword [r10]
jmp 0x1800055ea
mov r14d, r12d
comisd xmm10, xmm9
jb 0x180005e0e
movaps xmm0, xmm9
subsd xmm0, qword [0x180038140]
mulsd xmm0, xmm12
addsd xmm0, xmm11
call fcn.180004d84
mulsd xmm0, qword [0x180038128]
addsd xmm8, xmm0
add r14d, r12d
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
comisd xmm10, xmm0
jae 0x180005dd0
movsd qword [rsp + 0x68], xmm8
lea eax, [rsi + rsi]
cmp eax, r15d
cmovl esi, r15d
mov dword [rsp + 0x130], esi
mov rdx, qword [rsp + 0x58]
movsxd rcx, dword [rdx + 0x3c]
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov eax, dword [rcx + 0x54]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rdx
mov edx, dword [rcx + 0x50]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xa8], rax
mov r14, rax
mov qword [rsp + 0x90], rax
jmp 0x180005f4f
mov rcx, qword [rsp + 0x30]
mov rax, rcx
sub rcx, r12
mov qword [rsp + 0x30], rcx
test rax, rax
je 0x180005f6c
cmp esi, r15d
cmove esi, r15d
mov dword [rsp + 0x130], esi
movsd xmm0, qword [0x180038120]
call fcn.180004d84
mulsd xmm0, qword [0x180038128]
addsd xmm8, xmm0
movsd qword [rsp + 0x68], xmm8
mov rcx, qword [rsp + 0x48]
mov al, byte [rcx]
mov byte [r14], al
add r14, r12
mov qword [rsp + 0x90], r14
add rcx, r12
mov qword [rsp + 0x48], rcx
jmp 0x180005eee
mov r14d, r12d
movaps xmm1, xmm9
mulsd xmm1, xmm12
addsd xmm1, xmm11
movaps xmm0, xmm1
call fcn.180004d84
mulsd xmm0, qword [0x180038118]
addsd xmm8, xmm0
add r14d, r12d
movd xmm1, r14d
cvtdq2pd xmm1, xmm1
movsd xmm0, qword [0x1800383b8]
comisd xmm0, xmm1
jae 0x180005f73
movsd qword [rsp + 0x68], xmm8
lea eax, [rsi + 4]
cmp eax, r15d
cmovle esi, r15d
mov dword [rsp + 0x130], esi
movaps xmm0, xmm11
call fcn.180004d84
movaps xmm7, xmm0
movsd xmm0, qword [rsp + 0x100]
call fcn.180004d84
movaps xmm6, xmm0
addsd xmm6, xmm7
mulsd xmm6, xmm12
divsd xmm6, qword [0x180038178]
movsd qword [rsp + 0x68], xmm6
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx + 0x14]
lea r14, [rcx + 0x18]
add r14, rax
mov qword [rsp + 0x30], r14
movzx r8d, word [rcx + 6]
mov qword [rsp + 0x98], r8
jmp 0x18000609a
test r8, r8
je 0x18000622b
mov r10d, 0xa
movss xmm7, dword [0x1800383e8]
sub r8, r12
mov qword [rsp + 0x98], r8
mov dword [rsp + 0x28], esi
cmp esi, r15d
jle 0x180006222
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x70], eax
cmp eax, r15d
jge 0x1800061d9
cmp ebx, 0x7e
je 0x18000613a
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, 0x3a
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm0, qword [0x180038318]
cvttsd2si ecx, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, r12
movsx eax, cl
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm1
divsd xmm0, xmm2
cvttsd2si rax, xmm0
mulsd xmm2, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm2, xmm0
cvttsd2si ebx, xmm2
mov r10d, 0xa
cmp ebx, r10d
jge 0x180006154
mov cl, 0x20
call fcn.180004bbc
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
cvttsd2si eax, xmm0
jmp 0x180006157
mov eax, r12d
cmp eax, 0x5d
jle 0x18000618c
call qword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
mov eax, 0x6c
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movaps xmm1, xmm7
subss xmm1, xmm0
cvttss2si rax, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
subss xmm0, xmm7
jmp 0x1800061a2
call qword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
xorps xmm0, xmm0
cvtsi2ss xmm0, rdi
xorps xmm2, xmm2
cvtsi2ss xmm2, r12
divss xmm2, xmm0
cvttss2si eax, xmm2
mov ebx, eax
cmp eax, 0x14
jne 0x1800061b9
call qword [sym.imp.USER32.dll_GetCapture]
mov ebx, edi
mov ecx, dword [rsp + 0x28]
add ecx, r12d
mov dword [rsp + 0x28], ecx
cmp ecx, r15d
mov eax, dword [rsp + 0x70]
mov r10d, 0xa
jg 0x1800060d4
jmp 0x18000621a
mov ecx, dword [r14 + 0xc]
add rcx, r13
mov edx, dword [r14 + 0x14]
add rdx, qword [rsp + 0x58]
mov r8d, dword [r14 + 0x10]
test r8, r8
je 0x180006201
mov al, byte [rdx]
mov byte [rcx], al
add rcx, r12
add rdx, r12
sub r8, r12
jne 0x1800061f2
sub r8, r12
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x80], r8
add r14, 0x28
mov qword [rsp + 0x30], r14
mov r8, qword [rsp + 0x98]
test r8, r8
jne 0x1800060b1
mov ecx, 0x3a
comisd xmm10, xmm9
jb 0x180006284
movaps xmm0, xmm9
mov r13d, r12d
subsd xmm0, qword [0x180038140]
mulsd xmm0, xmm12
addsd xmm0, xmm11
call fcn.180004d84
mulsd xmm0, qword [0x180038128]
addsd xmm6, xmm0
add r13d, r12d
movd xmm0, r13d
cvtdq2pd xmm0, xmm0
comisd xmm10, xmm0
jae 0x18000623e
movsd qword [rsp + 0x68], xmm6
mov r13, qword [rsp + 0x50]
mov ecx, 0x3a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp eax, r15d
jl 0x1800069b2
mov rax, qword [rsp + 0x40]
add rax, 0x90
mov qword [rsp + 0x48], rax
mov ecx, dword [rax]
add rcx, r13
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x90], rcx
cmp dword [rcx + 0xc], edi
je 0x18000664d
cmp dword [rax], edi
je 0x18000664d
cmp esi, r15d
cmovl esi, r15d
mov dword [rsp + 0x130], esi
mov ecx, dword [rcx + 0xc]
add rcx, r13
call qword [rsp + 0x118]
mov r8, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x20]
mov r9d, dword [rcx]
add r9, r13
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x80], r9
mov r14d, dword [rcx + 0x10]
add r14, r13
mov qword [rsp + 0x30], r14
jmp 0x18000639d
mov qword [rsp + 0x38], r9
mov rdx, r9
mov qword [rsp + 0x78], rdx
mov rax, qword [r14]
test rax, rax
je 0x180006575
test r9, r9
je 0x180006463
cmp qword [r9], rdi
jge 0x180006463
mov ecx, esi
mov dword [rsp + 0x28], ecx
cmp esi, r15d
jle 0x180006514
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x70], eax
cmp eax, r15d
jge 0x18000642b
movsd xmm7, qword [0x180038270]
cmp ebx, 0x7f
jle 0x180006410
call qword [sym.imp.USER32.dll_GetMessageTime]
movaps xmm0, xmm7
divsd xmm0, xmm7
movaps xmm7, xmm0
cvttsd2si ebx, xmm0
cmp ebx, 0x7f
jg 0x1800063ef
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x70]
add ecx, r12d
mov dword [rsp + 0x28], ecx
cmp ecx, r15d
jg 0x1800063dd
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x38]
jmp 0x18000650f
mov r8, qword [rsp + 0x58]
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x88]
mov eax, dword [rcx + r8 + 0x10]
mov r9, qword [rsp + 0x38]
movzx edx, word [r9]
sub rdx, rax
mov ecx, dword [rcx + r8 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
mov qword [r14], rax
jmp 0x18000650f
cmp esi, r15d
cmove esi, r15d
mov dword [rsp + 0x130], esi
lea rdx, [rax + r13]
mov qword [rsp + 0x48], rdx
add rdx, 2
mov rcx, r8
call qword [rsp + pe_nt_image_headers64]
mov qword [r14], rax
jmp 0x18000641c
mov rdx, qword [rsp + 0x78]
lea eax, [rsi + 4]
cmp eax, r15d
jle 0x180006540
add r14, 8
mov qword [rsp + 0x30], r14
mov rax, r9
add r9, 8
test rax, rax
cmove r9, rdx
mov qword [rsp + 0x80], r9
jmp 0x180006398
cmp ebx, 5
cmovne ebx, r12d
cmp ebx, 0x46
jg 0x18000655e
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
call fcn.180004534
movsx ebx, al
jmp 0x180006566
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov ebx, edi
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x38]
jmp 0x18000639d
mov edx, esi
mov dword [rsp + 0x28], edx
cmp esi, r15d
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x48]
jle 0x1800062b6
lea eax, [rsi + 4]
cmp eax, r15d
jg 0x18000662b
cmp ebx, 0xc
jge 0x1800065e3
mov ecx, 0x3f
lea r13d, [rcx + 0xa]
call fcn.180004534
movsx edi, al
mov cl, dil
call fcn.1800045fc
cvttss2si ebx, xmm0
mov ecx, r13d
call fcn.180004534
movsx r13d, al
mov ecx, edi
movsx eax, bl
cdq
idiv r13d
add eax, edi
mov ebx, eax
cmp eax, 0xc
jl 0x1800065a8
mov r13, qword [rsp + 0x50]
mov edx, dword [rsp + 0x28]
cmp ebx, 0x4c
jle 0x180006611
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov cl, 0x57
call fcn.180004bbc
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x1800384a4]
subss xmm1, xmm0
cvttss2si ebx, xmm1
mov edx, dword [rsp + 0x28]
add edx, r12d
mov dword [rsp + 0x28], edx
cmp edx, r15d
lea eax, [rsi + 4]
jg 0x180006591
mov rcx, qword [rsp + 0x20]
jmp 0x180006641
mov rcx, qword [rsp + 0x20]
add rcx, 0x14
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x90], rcx
xor edi, edi
mov rax, qword [rsp + 0x48]
jmp 0x1800062b6
mov edi, r12d
movaps xmm1, xmm9
mulsd xmm1, xmm12
addsd xmm1, xmm11
movaps xmm0, xmm1
call fcn.180004d84
mulsd xmm0, qword [0x180038118]
addsd xmm6, xmm0
add edi, r12d
movd xmm1, edi
cvtdq2pd xmm1, xmm1
movsd xmm0, qword [0x1800383b8]
comisd xmm0, xmm1
jae 0x180006654
mov rax, r13
mov rcx, qword [rsp + 0x40]
sub rax, qword [rcx + 0x30]
mov qword [rsp + 0x100], rax
lea rdi, [rcx + 0xb0]
movsxd r8, esi
mov qword [rsp + 0xf8], r8
xor edx, edx
cmp dword [rdi + 4], edx
je 0x180006859
mov ecx, dword [rdi]
add rcx, r13
jmp 0x180006846
cmp r8, qword [rsp + 0xe0]
jl 0x1800066ea
mov r14d, dword [rcx]
add r14, r13
mov edi, eax
sub rdi, 8
shr rdi, 1
lea r8, [rcx + 8]
mov qword [rsp + 0x38], r8
jmp 0x180006753
cmp ebx, 0x10
jge 0x1800066fc
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov ebx, 0x6b2c0
xor edx, edx
cmp ebx, 0x66
jg 0x18000674e
mov cl, 0x6f
call fcn.1800045fc
cvttss2si rcx, xmm0
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
movabs rax, 0x6060606060606061
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm2, xmm0
xor edx, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
addss xmm2, xmm1
cvttss2si ebx, xmm2
mov r8, qword [rsp + 0x38]
test rdi, rdi
je 0x180006832
lea eax, [rsi + rsi]
mov r13, qword [rsp + 0x100]
sub rdi, r12
cmp eax, r15d
jl 0x1800067e6
movzx ecx, word [r8]
movzx eax, cx
shr ax, 0xc
mov r9d, 0xa
cmp ax, r9w
jne 0x180006792
and ecx, 0xfff
add qword [rcx + r14], r13
jmp 0x1800067db
mov r9d, 3
cmp ax, r9w
jne 0x1800067aa
and ecx, 0xfff
add dword [rcx + r14], r13d
jmp 0x1800067db
cmp ax, r12w
jne 0x1800067c4
and ecx, 0xfff
mov rax, r13
shr rax, 0x10
add word [rcx + r14], ax
jmp 0x1800067db
mov r9d, 2
cmp ax, r9w
jne 0x1800067db
and ecx, 0xfff
add word [rcx + r14], r13w
add r8, 2
mov qword [rsp + 0x38], r8
jmp 0x180006815
cmp ebx, 0x61
jg 0x18000681a
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov cl, 0xf
call fcn.180004bbc
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
cvtps2pd xmm1, xmm0
movsd xmm2, qword [0x180038188]
subsd xmm2, xmm1
cvttsd2si ebx, xmm2
xor edx, edx
lea eax, [rsi + rsi]
jmp 0x18000681f
mov ebx, 0xfffffffe
test rdi, rdi
mov r8, qword [rsp + 0x38]
jne 0x180006767
mov r13, qword [rsp + 0x50]
sub rdi, r12
mov rcx, qword [rsp + 0x98]
mov eax, dword [rcx + 4]
add rcx, rax
movsxd r8, esi
mov eax, dword [rcx + 4]
test eax, eax
mov qword [rsp + 0x98], rcx
jne 0x1800066c6
mov edi, r12d
mulsd xmm9, xmm12
addsd xmm9, xmm11
movaps xmm0, xmm9
call fcn.180004d84
mulsd xmm0, qword [0x180038118]
addsd xmm6, xmm0
add edi, r12d
movd xmm9, edi
cvtdq2pd xmm9, xmm9
movsd xmm0, qword [0x1800383b8]
comisd xmm0, xmm9
jae 0x18000685c
mov rax, qword [rsp + 0xf8]
cmp rax, qword [rsp + 0xe0]
jge 0x180006910
mov edi, 0x61
cmp ebx, edi
jne 0x1800068c8
mov ecx, edi
call fcn.180004534
movsx rcx, al
sub rdi, rcx
lea ebx, [rcx + rdi]
cmp ebx, 0x61
je 0x1800068b2
mov ecx, 0x37
lea edi, [rcx - 0x25]
jmp 0x180006909
call fcn.1800045fc
cvttss2si ecx, xmm0
movsxd rax, ecx
imul rdi, rax
mov eax, ecx
imul eax, ecx
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, rdi
addss xmm2, xmm1
cvttss2si ebx, xmm2
cmp ebx, 0x61
je 0x1800068d2
jmp 0x1800068a9
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 0x28]
add rbx, r13
mov rsi, qword [rsp + 0xa0]
mov rcx, r13
cmp byte [rsi + 8], 0
jne 0x180006973
mov rdx, qword [rsi + 0x10]
call fcn.180004f8c
mov rdi, rax
test rax, rax
je 0x18000697b
cmp byte [rsi + 0x3c], 0
je 0x18000694f
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call fcn.180004dd0
xor r8d, r8d
mov edx, r12d
mov rcx, r13
call rbx
mov r9d, dword [rsi + 0x38]
mov r8, qword [rsi + 0x30]
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x20]
call rdi
cdqe
jmp 0x180006b13
xor r8d, r8d
mov edx, r12d
call rbx
xor ecx, ecx
movsd xmm0, qword [0x180038490]
comisd xmm6, xmm0
jb 0x1800069a2
subsd xmm6, xmm0
comisd xmm6, xmm0
jae 0x1800069a2
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm6
add rax, rcx
add rax, rbx
jmp 0x180006b13
movsd xmm1, qword [0x1800382e8]
movaps xmm0, xmm1
addsd xmm0, xmm1
movaps xmm1, xmm0
cvttsd2si eax, xmm0
cmp eax, 0x51
jg 0x1800069ba
cmp eax, 0x2e
je 0x180006a0b
call fcn.180004534
movsx ebx, al
mov cl, 0x2c
call fcn.180004bbc
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movd xmm7, ebx
cvtdq2pd xmm7, xmm7
addsd xmm7, xmm0
cvttsd2si ecx, xmm0
call fcn.1800045fc
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
subsd xmm7, xmm1
jmp 0x180006a19
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movsd xmm7, qword [0x180038360]
cvttsd2si ebx, xmm7
jmp 0x18000627f
mov r14d, 0x49
cmp ebx, 0x2e
jle 0x180006a52
call qword [sym.imp.USER32.dll_GetActiveWindow]
xorps xmm0, xmm0
cvtsi2ss xmm0, r14
call fcn.1800047dc
cdqe
imul r14, rax
cqo
idiv r14
mov ebx, eax
cmp eax, 0x2e
jg 0x180006a2d
movsd xmm6, qword [0x180038240]
jmp 0x180006a70
call qword [sym.imp.KERNEL32.dll_IsSystemResumeAutomatic]
movaps xmm0, xmm6
divsd xmm0, xmm6
movaps xmm6, xmm0
cvttsd2si ebx, xmm0
cmp ebx, 5
jl 0x180006a5c
movsd xmm6, qword [0x180038238]
jmp 0x180006a93
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movaps xmm0, xmm6
mulsd xmm0, xmm6
movaps xmm6, xmm0
cvttsd2si ebx, xmm0
cmp ebx, 0x4d
jne 0x180006a7f
test ebx, ebx
js 0x180006aac
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movsd xmm0, qword [0x180038330]
jmp 0x180006ab4
movsd xmm0, qword [0x1800384b0]
cvttsd2si eax, xmm0
mov ebx, eax
mov dword [rsp + 0x20], eax
cmp eax, 2
mov rcx, rdi
jl 0x1800055be
cvttsd2si rcx, qword [0x180038180]
xorps xmm6, xmm6
cvtsi2sd xmm6, rcx
mov rax, rcx
cqo
idiv rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm6, xmm0
call fcn.180004534
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm6, xmm0
cvttsd2si ebx, xmm6
mov dword [rsp + 0x20], ebx
mov rcx, rdi
jmp 0x1800055be
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.18000aef0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, 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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret