Function at 0x1005ec2a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov edi, ecx
mov ecx, dword [ecx + 0x14]
mov eax, dword [edi + 0x18]
mov dword [esp + 0xc], eax
add eax, eax
cmp ecx, eax
jle 0x1005f0bb
mov edx, dword [edi + 0x10]
cmp edx, eax
jle 0x1005f0bb
cmp dword [esp + 0xc], 0
jle 0x1005f0bb
mov eax, dword [edi]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
mov edx, dword [edi + 4]
mov esi, edx
shr esi, 0x10
mov ecx, 0xff
and esi, ecx
cvtsi2sd xmm5, esi
movsd xmm3, qword [str.ReleaseDC]
divsd xmm5, xmm3
mov esi, edx
shr esi, 8
and esi, ecx
cvtsi2sd xmm2, esi
divsd xmm2, xmm3
and edx, ecx
cvtsi2sd xmm1, edx
divsd xmm1, xmm3
mov edx, eax
and edx, ecx
cvtsi2sd xmm7, edx
mov edx, eax
shr edx, 8
and edx, ecx
cvtsi2sd xmm6, edx
divsd xmm7, xmm3
divsd xmm6, xmm3
shr eax, 0x10
and eax, ecx
cvtsi2sd xmm0, eax
divsd xmm0, xmm3
movapd xmm4, xmm5
subsd xmm0, xmm5
movsd qword [esp + 0x78], xmm0
movapd xmm5, xmm2
subsd xmm6, xmm2
movsd qword [esp + 0x80], xmm6
movapd xmm6, xmm1
subsd xmm7, xmm1
mov dword [esp + 0x14], 0
xor eax, eax
dec eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edi
movsd qword [esp + 0x70], xmm4
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm7
mov ebx, dword [edi + 0xc]
mov esi, dword [esp + 0x14]
mov eax, esi
not eax
mov edx, dword [esp + 0xc]
add eax, edx
mov dword [esp + 0xc], edx
add eax, ebx
mov ecx, dword [esp + 0x18]
sub ecx, edx
add ecx, esi
mov edx, ebx
mov dword [esp + 0x30], ebx
add ecx, ebx
mov edx, dword [0x1008f5bc]
mov ebx, dword [0x1008f5c0]
imul eax, ebx
mov dword [esp + 0x20], edx
lea eax, [edx + eax*4]
mov edx, dword [edi + 8]
mov dword [esp + 0x24], edx
lea eax, [eax + edx*4]
mov edi, dword [esp + 0xc]
lea edx, [edi*4]
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x10]
lea eax, [eax + esi*4]
mov dword [esp + 0x40], edx
sub eax, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], ebx
imul ecx, ebx
mov dword [esp + 0x4c], ecx
test edi, edi
jle 0x1005efb7
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
addsd xmm0, qword [0x1007d398]
mulsd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
add eax, esi
add eax, ecx
mov ebx, dword [esp + 0xc]
sub eax, ebx
imul eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
lea ecx, [edx + eax]
sub ecx, ebx
mov edi, dword [esp + 0x20]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x28], ecx
lea ecx, [ebx + esi]
add ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x1c]
add edx, ecx
sub edx, ebx
lea edx, [edi + edx*4]
add eax, ebx
lea eax, [edi + eax*4]
add eax, 0xfffffffc
mov dword [esp + 0x3c], eax
add ecx, ebx
lea eax, [edi + ecx*4]
add eax, 0xfffffffc
mov dword [esp + 0x38], eax
xor eax, eax
mov edi, ebx
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
addsd xmm0, qword [0x1007d398]
mulsd xmm0, xmm0
addsd xmm0, qword [esp + 0x88]
ucomisd xmm0, qword [0x1007d378]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
jb 0x1005ee4c
xorps xmm1, xmm1
sqrtsd xmm1, xmm0
jmp 0x1005ee86
movsd qword [esp], xmm0
call fcn.100785cc
movsd xmm7, qword [esp + 0x58]
movsd xmm6, qword [esp + 0x60]
movsd xmm5, qword [esp + 0x68]
movsd xmm3, qword [str.ReleaseDC]
movsd xmm4, qword [esp + 0x70]
fstp qword [esp + 0x90]
movsd xmm1, qword [esp + 0x90]
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
subsd xmm1, xmm0
mulsd xmm1, qword [0x1007d398]
addsd xmm1, xmm1
movsd xmm0, qword [0x1007daf0]
ucomisd xmm0, xmm1
movsd xmm0, qword [0x1007d3b0]
jae 0x1005eee5
xorpd xmm0, xmm0
ucomisd xmm1, qword [0x1007daf8]
jae 0x1005eee5
movapd xmm0, xmm1
mulsd xmm0, qword [0x1007db00]
mulsd xmm0, xmm1
addsd xmm0, qword [0x1007db08]
mulsd xmm0, xmm1
addsd xmm0, qword [0x1007d398]
movsd xmm1, qword [esp + 0x78]
mulsd xmm1, xmm0
addsd xmm1, xmm4
mulsd xmm1, xmm3
cvttsd2si edi, xmm1
movsd xmm2, qword [str.expected_a_ProfilerOverheadDuration_entry_after_ProfilerOverheadTime]
subsd xmm1, xmm2
cvttsd2si eax, xmm1
movsd xmm1, qword [esp + 0x80]
mulsd xmm1, xmm0
addsd xmm1, xmm5
mulsd xmm1, xmm3
cvttsd2si ebx, xmm1
subsd xmm1, xmm2
cvttsd2si edx, xmm1
mulsd xmm0, xmm7
addsd xmm0, xmm6
mov ecx, edi
sar ecx, 0x1f
and eax, ecx
or eax, edi
mov ecx, ebx
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
sar ecx, 0x1f
subsd xmm0, xmm2
cvttsd2si esi, xmm0
and edx, ecx
or edx, ebx
mov ecx, edi
sar ecx, 0x1f
and esi, ecx
or esi, edi
shl edx, 8
or esi, edx
shl eax, 0x10
or esi, eax
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x38]
mov dword [ebx + eax*4], esi
mov edx, dword [esp + 0x54]
mov dword [edx + eax*4], esi
mov edi, dword [esp + 0x3c]
mov dword [edi + eax*4], esi
mov ecx, dword [esp + 0x28]
mov dword [ecx + eax*4], esi
mov eax, dword [esp + 0x50]
inc eax
mov esi, dword [esp + 0x34]
mov esi, dword [esi + 0x18]
add ecx, 4
mov dword [esp + 0x28], ecx
add edx, 4
add edi, 0xfffffffc
mov dword [esp + 0x3c], edi
mov edi, esi
add ebx, 0xfffffffc
mov dword [esp + 0x38], ebx
cmp eax, esi
jl 0x1005ee15
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x24]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x10]
lea eax, [ecx + eax*4]
sub eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
lea edx, [edx + eax*4]
add edx, 0xfffffffc
add edx, 4
cmp edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
je 0x1005f037
mov edx, dword [esp + 0x10]
lea edx, [edx*4]
mov edi, dword [esp + 0xc]
lea esi, [edi*8]
sub edx, esi
mov esi, dword [esp + 0x24]
add esi, edi
mov ebx, dword [esp + 0x30]
add edi, ebx
add edi, dword [esp + 0x2c]
imul edi, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x20]
lea esi, [esi + edi*4]
xor edi, edi
mov ebx, dword [eax]
mov dword [esi + edi], ebx
add edi, 4
cmp edx, edi
jne 0x1005f02b
mov edx, dword [esp + 0xc]
lea ecx, [ecx + edx*4]
add ecx, 0xfffffffc
add ecx, 4
cmp ecx, dword [esp + 0x28]
mov edi, eax
mov esi, dword [esp + 0x10]
je 0x1005f08e
shl esi, 2
lea eax, [edx*8]
sub esi, eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
add ebx, edx
add eax, dword [esp + 0x14]
sub eax, edx
mov ecx, dword [esp + 0x1c]
imul ecx, eax
add ecx, ebx
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov edx, dword [edi]
mov dword [eax + ecx], edx
add ecx, 4
cmp esi, ecx
jne 0x1005f082
mov edx, dword [esp + 0x14]
inc edx
mov ecx, dword [edi + 0x18]
mov eax, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
cmp edx, ecx
jge 0x1005f0bb
mov eax, dword [edi + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], eax
dec dword [esp + 0x2c]
jmp 0x1005ed21
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret