Function at 0x1003bd40
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f9d09
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x1014c200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], 0
mov eax, dword [edi + 0x50]
test eax, eax
je 0x1003bd8b
call eax
test al, al
je 0x1003c8b3
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x1003c8b3
mov ecx, eax
call fcn.10039e40
mov esi, eax
mov dword [ebp - 0x48], esi
test esi, esi
je 0x1003c8b3
mov ecx, esi
call fcn.1003ff90
cmp eax, dword [edi + 4]
je 0x1003bde4
lea eax, [ebp - 0x64]
push eax
mov ecx, esi
call fcn.10040000
mov dword [ebp - 4], 0
mov edx, 1
mov dword [ebp - 0x4c], edx
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
test ecx, ecx
je 0x1003bde7
mov byte [ebp - 0x3d], dl
jmp 0x1003bdeb
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 0x3d], 0
mov dword [ebp - 4], 0xffffffff
test dl, 1
je 0x1003be05
and edx, 0xfffffffe
mov dword [ebp - 0x4c], edx
lea ecx, [ebp - 0x64]
call fcn.10018300
cmp byte [ebp - 0x3d], 0
jne 0x1003c8b3
mov eax, dword [esi + 0x28c]
cmp eax, edi
je 0x1003be21
test eax, eax
jne 0x1003c8b3
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov byte [ebp - 0x3d], al
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.1003ffa0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x1010b5d0]
movss dword [ebp - 0x34], xmm0
sub esp, 8
mov dword [esp + 4], 0x41200000
mov dword [esp], 0x41a00000
lea ecx, [ebp - 0x3c]
call fcn.100a2e30
lea edx, [edi + 0x10]
movss xmm0, dword [edx]
cmp byte [ebp - 0x3d], 0
je 0x1003bf3c
movss xmm1, dword [0x10108af8]
comiss xmm1, xmm0
jbe 0x1003be8f
addss xmm0, dword [0x1014d3c8]
movss dword [edx], xmm0
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
xorps xmm2, xmm2
comiss xmm2, xmm0
cmovbe ecx, edx
lea eax, [ebp - 0x50]
comiss xmm0, xmm1
cmovbe eax, ecx
mov eax, dword [eax]
mov dword [edx], eax
mov dword [esi + 0x288], edi
mov ecx, esi
call fcn.10040220
test al, al
je 0x1003bf0a
cmp byte [edi + 0x20], 0
je 0x1003bee9
mov dword [esi + 0x28c], 0
mov byte [edi + 0x20], 0
mov ecx, edi
call fcn.1003c8e0
mov al, 1
jmp 0x1003c8b5
cmp dword [esi + 0x28c], 0
jne 0x1003befc
mov byte [edi + 0x20], 1
mov dword [esi + 0x28c], edi
mov ecx, edi
call fcn.1003c8e0
mov al, 1
jmp 0x1003c8b5
mov ecx, esi
call fcn.10040290
test al, al
je 0x1003bf78
cmp byte [edi + 0x20], 0
jne 0x1003bf78
cmp dword [esi + 0x28c], 0
jne 0x1003bf78
mov byte [edi + 0x4c], 1
mov dword [esi + 0x28c], edi
mov ecx, edi
call fcn.1003c8e0
mov al, 1
jmp 0x1003c8b5
xorps xmm2, xmm2
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0x50]
comiss xmm0, xmm2
jbe 0x1003bf64
subss xmm0, dword [0x1014d3c8]
movss dword [edx], xmm0
comiss xmm2, xmm0
cmovbe ecx, edx
comiss xmm0, dword [0x10108af8]
cmovbe eax, ecx
mov eax, dword [eax]
mov dword [edx], eax
cmp byte [edi + 0x4c], 0
je 0x1003c389
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [0x10108ecc]
addss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x30], xmm0
sub esp, 8
mov dword [esp + 4], 0x41a00000
mov dword [esp], 0x42a00000
lea ecx, [ebp - 0x54]
call fcn.100a2e30
push eax
lea ecx, [ebp - 0x3c]
call fcn.100a2e60
movss xmm1, dword [0x1014d47c]
movss xmm2, dword [ebp - 0x34]
comiss xmm1, xmm2
jb 0x1003c02f
movss xmm3, dword [0x1014d480]
movss xmm4, dword [ebp - 0x30]
comiss xmm3, xmm4
jb 0x1003c02f
movss xmm0, dword [ebp - 0x3c]
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x1003c02f
mov ecx, dword [edi + 0x44]
sub ecx, dword [edi + 0x40]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101089d0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x38]
addss xmm0, xmm4
comiss xmm0, xmm3
mov byte [ebp - 0x3d], 1
ja 0x1003c033
mov byte [ebp - 0x3d], 0
mov ecx, esi
call fcn.10040220
test al, al
je 0x1003c048
cmp byte [ebp - 0x3d], 0
je 0x1003c323
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [edi + 0x44]
sub ecx, dword [edi + 0x40]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1003c8b3
mov eax, 0x38
mov dword [ebp - 0x58], eax
movss xmm1, dword [ebp - 0x30]
nop word [eax + eax]
movss xmm2, dword [0x1014d47c]
movss xmm3, dword [ebp - 0x34]
comiss xmm2, xmm3
jb 0x1003c0e5
movss xmm4, dword [0x1014d480]
comiss xmm4, xmm1
jb 0x1003c0e5
movss xmm0, dword [ebp - 0x3c]
addss xmm0, xmm3
comiss xmm0, xmm2
jb 0x1003c0e5
addss xmm1, dword [ebp - 0x38]
comiss xmm1, xmm4
jbe 0x1003c0e5
mov byte [ebp - 0x3e], 1
mov dword [esi + 0x288], edi
movss xmm0, dword [eax + edi]
movss xmm1, dword [0x10108af8]
comiss xmm1, xmm0
jbe 0x1003c0e0
addss xmm0, dword [0x1014d3c8]
movss dword [eax + edi], xmm0
xorps xmm2, xmm2
jmp 0x1003c10f
xor cl, cl
mov byte [ebp - 0x3e], cl
movss xmm0, dword [eax + edi]
xorps xmm2, xmm2
movss xmm1, dword [0x10108af8]
comiss xmm0, xmm2
jbe 0x1003c10f
subss xmm0, dword [0x1014d3c8]
movss dword [eax + edi], xmm0
mov byte [ebp - 0x3e], cl
comiss xmm0, xmm1
jbe 0x1003c11d
mov dword [eax + edi], 0x3f800000
jmp 0x1003c129
comiss xmm2, xmm0
jbe 0x1003c129
mov dword [eax + edi], 0
mov ecx, esi
call fcn.10040220
test al, al
je 0x1003c346
cmp byte [ebp - 0x3e], 0
je 0x1003c346
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x1003c26c
mov eax, dword [edi + 0x1c]
movzx esi, byte [eax + 3]
movzx edx, byte [eax + 2]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm1, dword [0x1010b584]
mulss xmm0, xmm1
movss dword [ebp - 0x68], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x64], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x60], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x5c], xmm0
lea eax, [ebp - 0x68]
push eax
call fcn.100478f0
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x17]
push eax
call fcn.100114f0
add esp, 0xc
lea ecx, [ebp - 0x3d]
push ecx
lea ecx, [ebp - 0x17]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.1000cd50
mov eax, dword [ebp - 0x4c]
or eax, 4
mov dword [ebp - 0x4c], eax
and eax, 0xfffffffb
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
or eax, 2
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0xf
cmova eax, dword [ebp - 0x80]
mov dword [ebp - 0x50], eax
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1003c251
call dword [sym.imp.USER32.dll_EmptyClipboard]
push 0x104
push 0
mov edi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
call edi
mov esi, eax
push dword [ebp - 0x50]
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
push 1
mov esi, dword [sym.imp.USER32.dll_SetClipboardData]
call esi
push 4
push 0
call edi
mov dword [eax], 0x19
push eax
push 0x10
call esi
call dword [sym.imp.USER32.dll_CloseClipboard]
mov edi, dword [ebp - 0x44]
and dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.1000b6f0
mov esi, dword [ebp - 0x48]
jmp 0x1003c323
cmp eax, 1
jne 0x1003c323
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
or dword [ebp - 0x4c], 8
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1003c2f6
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov dword [ebp - 0x44], eax
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x48], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1003c2d3
sub edx, dword [ebp - 0x48]
push edx
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000c510
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoll]
add esp, 4
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
and dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.1000b6f0
mov byte [edi + 0x4c], 0
mov dword [esi + 0x28c], 0
mov ecx, esi
call fcn.10040e30
mov ecx, edi
call fcn.1003c8e0
mov al, 1
jmp 0x1003c8b5
movss xmm1, dword [ebp - 0x30]
addss xmm1, dword [0x1010b568]
movss dword [ebp - 0x30], xmm1
inc dword [ebp - 0x50]
add dword [ebp - 0x58], 4
mov ecx, dword [edi + 0x44]
sub ecx, dword [edi + 0x40]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, dword [ebp - 0x50]
cmp ecx, eax
jae 0x1003c8b3
mov eax, dword [ebp - 0x58]
jmp 0x1003c080
cmp byte [edi + 0x20], 0
je 0x1003c8b3
movss xmm1, dword [ebp - 0x30]
addss xmm1, dword [ebp - 0x38]
movss dword [ebp - 0x30], xmm1
movss xmm4, dword [0x1010b544]
movss dword [ebp - 0x3c], xmm4
movss xmm2, dword [0x1014d47c]
movss xmm5, dword [ebp - 0x34]
cmp byte [ebp - 0x3d], 0
jne 0x1003c425
comiss xmm2, xmm5
jbe 0x1003c3f0
movss xmm3, dword [0x1014d480]
comiss xmm3, xmm1
jbe 0x1003c3f0
movaps xmm0, xmm5
addss xmm0, xmm4
comiss xmm0, xmm2
jbe 0x1003c3f0
movaps xmm0, xmm1
addss xmm0, dword [0x1010b5c8]
comiss xmm0, xmm3
ja 0x1003c42d
mov ecx, esi
call fcn.10040220
test al, al
je 0x1003c40e
mov dword [esi + 0x28c], 0
mov byte [edi + 0x20], 0
jmp 0x1003c331
movss xmm1, dword [ebp - 0x30]
movss xmm5, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x3c]
movss xmm2, dword [0x1014d47c]
movss xmm3, dword [0x1014d480]
movaps xmm7, xmm5
addss xmm7, dword [0x1010b530]
comiss xmm2, xmm7
jbe 0x1003c46f
movaps xmm6, xmm1
addss xmm6, dword [0x1010b5c0]
comiss xmm3, xmm6
jbe 0x1003c46f
movaps xmm0, xmm4
addss xmm0, xmm5
subss xmm0, dword [0x1010b530]
comiss xmm0, xmm2
jbe 0x1003c46f
addss xmm6, dword [ebp - 0x38]
comiss xmm6, xmm3
jbe 0x1003c46f
mov cl, 1
jmp 0x1003c471
xor cl, cl
mov byte [ebp - 0x3f], cl
comiss xmm2, xmm7
jbe 0x1003c4ab
movaps xmm6, xmm1
addss xmm6, dword [0x1010b5c4]
comiss xmm3, xmm6
jbe 0x1003c4ab
movaps xmm0, xmm4
addss xmm0, xmm5
subss xmm0, dword [0x1010b530]
comiss xmm0, xmm2
jbe 0x1003c4ab
addss xmm6, dword [ebp - 0x38]
comiss xmm6, xmm3
jbe 0x1003c4ab
mov al, 1
jmp 0x1003c4ad
xor al, al
mov byte [ebp - 0x3e], al
comiss xmm2, xmm7
jbe 0x1003c4e7
movaps xmm0, xmm1
movss xmm6, dword [0x1010b530]
addss xmm0, xmm6
comiss xmm3, xmm0
jbe 0x1003c4e7
addss xmm4, xmm5
subss xmm4, xmm6
comiss xmm4, xmm2
jbe 0x1003c4e7
addss xmm1, dword [0x1010b5bc]
comiss xmm1, xmm3
jbe 0x1003c4e7
mov dl, 1
jmp 0x1003c4e9
xor dl, dl
mov byte [ebp - 0x3d], dl
test cl, cl
jne 0x1003c4f8
test al, al
jne 0x1003c4f8
test dl, dl
je 0x1003c4fe
mov dword [esi + 0x288], edi
mov ecx, esi
call fcn.10040220
test al, al
je 0x1003c572
movss xmm1, dword [ebp - 0x3c]
addss xmm1, dword [ebp - 0x34]
movaps xmm0, xmm1
movss xmm4, dword [0x1010b5b0]
subss xmm0, xmm4
movss xmm3, dword [0x1014d47c]
comiss xmm3, xmm0
jbe 0x1003c572
movss xmm2, dword [0x1014d480]
movss xmm0, dword [ebp - 0x30]
comiss xmm2, xmm0
jbe 0x1003c572
comiss xmm1, xmm3
jbe 0x1003c572
addss xmm0, xmm4
comiss xmm0, xmm2
jbe 0x1003c572
mov dword [esi + 0x28c], 0
mov byte [edi + 0x20], 0
mov ecx, edi
call fcn.1003c8e0
mov ecx, esi
call fcn.10040e30
mov al, 1
jmp 0x1003c8b5
movss xmm0, dword [edi + 0x14]
movss xmm2, dword [0x10108af8]
cmp byte [ebp - 0x3f], 0
je 0x1003c59c
comiss xmm2, xmm0
jbe 0x1003c597
addss xmm0, dword [0x1014d3c8]
movss dword [edi + 0x14], xmm0
xorps xmm3, xmm3
jmp 0x1003c5b1
xorps xmm3, xmm3
comiss xmm0, xmm3
jbe 0x1003c5b1
subss xmm0, dword [0x1014d3c8]
movss dword [edi + 0x14], xmm0
movss xmm1, dword [edi + 0x18]
cmp byte [ebp - 0x3e], 0
je 0x1003c5cb
comiss xmm2, xmm1
jbe 0x1003c5dd
addss xmm1, dword [0x1014d3c8]
jmp 0x1003c5d8
comiss xmm1, xmm3
jbe 0x1003c5dd
subss xmm1, dword [0x1014d3c8]
movss dword [edi + 0x18], xmm1
comiss xmm0, xmm2
jbe 0x1003c5eb
mov dword [edi + 0x14], 0x3f800000
jmp 0x1003c5f7
comiss xmm3, xmm0
jbe 0x1003c5f7
mov dword [edi + 0x14], 0
comiss xmm1, xmm2
jbe 0x1003c605
mov dword [edi + 0x18], 0x3f800000
jmp 0x1003c611
comiss xmm3, xmm1
jbe 0x1003c611
mov dword [edi + 0x18], 0
mov ecx, esi
call fcn.10040230
test al, al
je 0x1003c64f
cmp byte [ebp - 0x3f], 0
je 0x1003c62e
mov dword [edi + 0x24], 1
jmp 0x1003c6c1
cmp byte [ebp - 0x3e], 0
je 0x1003c640
mov dword [edi + 0x24], 2
jmp 0x1003c6c1
cmp byte [ebp - 0x3d], 0
je 0x1003c6c1
mov dword [edi + 0x24], 3
jmp 0x1003c6c1
mov ecx, esi
call fcn.10040230
test al, al
je 0x1003c6ba
mov ecx, esi
call fcn.10040230
test al, al
je 0x1003c67a
cmp byte [ebp - 0x3f], 0
jne 0x1003c67a
cmp dword [edi + 0x24], 1
jne 0x1003c67a
mov dword [edi + 0x24], 1
jmp 0x1003c6c1
mov ecx, esi
call fcn.10040230
test al, al
je 0x1003c69a
cmp byte [ebp - 0x3e], 0
jne 0x1003c69a
cmp dword [edi + 0x24], 2
jne 0x1003c69a
mov dword [edi + 0x24], 2
jmp 0x1003c6c1
mov ecx, esi
call fcn.10040230
test al, al
je 0x1003c6ba
cmp byte [ebp - 0x3d], 0
jne 0x1003c6ba
cmp dword [edi + 0x24], 3
jne 0x1003c6ba
mov dword [edi + 0x24], 3
jmp 0x1003c6c1
mov dword [edi + 0x24], 0
mov eax, dword [edi + 0x24]
test eax, eax
jle 0x1003c8b3
movss xmm4, dword [ebp - 0x3c]
subss xmm4, dword [0x1010b5b4]
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x1010b530]
movss xmm1, dword [0x1014d47c]
subss xmm1, xmm0
xorps xmm3, xmm3
xorps xmm0, xmm0
maxss xmm0, xmm1
movaps xmm2, xmm4
minss xmm2, xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [0x1010b530]
movss xmm1, dword [0x1014d480]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss xmm5, dword [0x1010b578]
movaps xmm1, xmm5
minss xmm1, xmm0
cmp eax, 1
jne 0x1003c76e
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x48], 0
divss xmm2, xmm4
movss dword [ebp - 0x44], xmm2
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x44]
comiss xmm3, xmm2
cmovbe ecx, eax
lea eax, [ebp - 0x50]
comiss xmm2, dword [0x10108af8]
cmovbe eax, ecx
mov eax, dword [eax]
mov dword [edi + 0x2c], eax
jmp 0x1003c7cd
cmp eax, 2
jne 0x1003c7aa
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x48], 0
divss xmm2, xmm4
movss dword [ebp - 0x44], xmm2
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x44]
comiss xmm3, xmm2
cmovbe ecx, eax
lea eax, [ebp - 0x50]
comiss xmm2, dword [0x10108af8]
cmovbe eax, ecx
mov eax, dword [eax]
mov dword [edi + 0x28], eax
jmp 0x1003c7cd
cmp eax, 3
jne 0x1003c7cd
divss xmm2, xmm4
movss dword [edi + 0x30], xmm2
divss xmm1, xmm5
movss xmm0, dword [0x10108af8]
subss xmm0, xmm1
movss dword [edi + 0x34], xmm0
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x48], 0
lea edx, [edi + 0x2c]
movss xmm0, dword [edx]
lea ecx, [ebp - 0x48]
comiss xmm3, xmm0
cmovbe ecx, edx
lea eax, [ebp - 0x44]
movss xmm2, dword [0x10108af8]
comiss xmm0, xmm2
cmovbe eax, ecx
movss xmm4, dword [eax]
movss dword [edx], xmm4
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x48], 0
lea edx, [edi + 0x30]
movss xmm0, dword [edx]
lea ecx, [ebp - 0x48]
comiss xmm3, xmm0
cmovbe ecx, edx
lea eax, [ebp - 0x44]
comiss xmm0, xmm2
cmovbe eax, ecx
movss xmm1, dword [eax]
movss dword [edx], xmm1
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x48], 0
lea edx, [edi + 0x34]
movss xmm0, dword [edx]
lea ecx, [ebp - 0x48]
comiss xmm3, xmm0
cmovbe ecx, edx
lea eax, [ebp - 0x44]
comiss xmm0, xmm2
cmovbe eax, ecx
movss xmm0, dword [eax]
movss dword [edx], xmm0
mov dword [ebp - 4], 4
wait
sub esp, 0xc
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm4
lea eax, [ebp - 0x48]
push eax
call fcn.1003afc0
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [edi + 0x1c]
mov dword [eax], ecx
mov ecx, dword [edi + 0x1c]
movss xmm0, dword [edi + 0x28]
mulss xmm0, dword [0x10108d08]
cvttss2si eax, xmm0
mov dword [ebp - 0x44], eax
mov byte [ecx + 3], al
wait
mov dword [ebp - 4], 0xffffffff
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100a9e59
mov esp, ebp
pop ebp
ret