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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov esi, ecx
mov eax, dword [0x644040]
xor eax, ebp
mov dword [esp + 0xb0], eax
test edx, edx
setne al
cmp dword [ecx + 0x48], 0
mov dword [ecx + 0x48], edx
sete cl
xor cl, al
je 0x590ff8
mov ecx, dword [esp + 0xb0]
xor ecx, ebp
call fcn.00565ea5
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [ebp + 8]
test edx, edx
jne 0x59103a
lea ecx, [esi + 0x58]
call fcn.004010f0
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x5912c3
mov dword [esp + 0x98], 0xa
mov al, byte [0x649456]
test al, al
jne 0x5915e2
mov ecx, dword [0x645d64]
test ecx, ecx
je 0x590fe2
jmp 0x5915cf
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x5915d9
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
jne 0x5915dc
mov eax, dword [esi]
or eax, dword [esi + 4]
mov dword [esp + 0x14], esi
jne 0x5911c7
mov eax, dword [0x657bf4]
mov ecx, dword [0x64784c]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x59128f
mov eax, dword [esi + 0x50]
test eax, eax
je 0x5915df
cmp byte [0x657bf0], 1
jne 0x591154
cmp byte [eax + 0xc], 0
je 0x5910aa
movsd xmm0, qword [0x615a88]
jmp 0x5910b2
movsd xmm0, qword [0x6260a8]
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x38]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, ecx
shld eax, esi, 0x17
mov edx, dword [esp + 0x14]
mov edi, dword [edx + 0x44]
mov edx, esi
shl edx, 0x17
xor edx, esi
xor eax, ecx
mov ebx, eax
mov ecx, edi
shr ecx, 0x1a
xor ecx, edi
xor ecx, eax
shr eax, 0x11
xor eax, ecx
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x40]
shld ebx, edx, 0xf
mov ecx, edi
shld ecx, esi, 6
xor ecx, esi
xor ecx, edx
xor ecx, ebx
mov edx, dword [esp + 0x14]
mov dword [edx + 0x38], esi
mov edx, dword [esp + 0x14]
mov dword [edx + 0x3c], edi
mov edx, dword [esp + 0x14]
mov dword [edx + 0x40], ecx
add ecx, esi
mov esi, dword [esp + 0x14]
mov dword [esi + 0x44], eax
adc eax, edi
mov edx, eax
shr edx, 0xb
movd xmm1, edx
shld eax, ecx, 0x15
movd xmm2, eax
punpckldq xmm2, xmm1
movq qword [esp + 0x50], xmm2
fild qword [esp + 0x50]
fstp qword [esp + 0x48]
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, qword [0x6260a0]
ucomisd xmm0, xmm1
ja 0x59118e
mov dword [esp + 0x90], 0xa
mov al, byte [0x649456]
test al, al
jne 0x591620
lea ecx, [esi + 0x58]
mov eax, dword [esi + 0x68]
inc eax
mov dword [esi + 0x68], eax
mov dword [esp], eax
mov dword [esp + 4], 0
call section..text
sub esp, 8
jmp 0x590fe2
lea esi, [esp + 0x98]
mov dword [esp], esi
mov ecx, dword [ebp + 8]
call fcn.004fa990
sub esp, 4
movsd xmm0, qword [esi]
mov eax, dword [esp + 0x14]
movsd qword [eax + 8], xmm0
mov dword [esp], esi
call fcn.00406780
movsd xmm0, qword [esi]
mov esi, dword [esp + 0x14]
movsd qword [esi + 0x10], xmm0
jmp 0x591154
lea edi, [esp + 0xa8]
mov dword [esp], edi
mov ecx, ebx
call fcn.004fa990
sub esp, 4
mov edx, edi
mov edi, dword [edi]
sub edi, dword [esi]
mov eax, dword [edx + 4]
sbb eax, dword [esi + 4]
seto cl
mov ebx, eax
sar ebx, 0x1f
test cl, cl
cmovne edi, ebx
add ebx, 0x80000000
test cl, cl
cmove ebx, eax
mov dword [edx], edi
mov dword [edx + 4], ebx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ebx
movsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp], xmm0
mov ecx, esi
mov edx, str.Scheduling.ThreadController.IdleDuration
call fcn.00402130
xor edx, edx
mov dword [esi + 4], edx
mov dword [esi], edx
mov dword [esp + 0x10], edi
mov eax, edi
add eax, 1
mov ecx, ebx
adc ecx, 0x80000000
cmp eax, 2
sbb ecx, 0
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
jb 0x59170e
add edi, dword [esp + 0x10]
adc eax, ebx
seto dl
mov esi, eax
sar esi, 0x1f
lea ebx, [esi - 0x80000000]
test dl, dl
cmove esi, edi
mov ecx, esi
test dl, dl
cmove ebx, eax
mov esi, dword [esp + 0x14]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
jmp 0x591061
mov dword [esp], 0x657bf4
call fcn.00562c08
cmp dword [0x657bf4], 0xffffffff
jne 0x591082
call fcn.00458650
mov byte [0x657bf0], al
mov dword [esp], 0x657bf4
call fcn.00562c57
jmp 0x591082
lea edi, [esp + 0xa8]
mov dword [esp], edi
mov ecx, ebx
call fcn.004fa990
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], eax
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
mov dword [esp], edi
call fcn.00406780
mov eax, edi
mov edi, dword [edi]
sub edi, dword [esi + 0x10]
mov ecx, dword [eax + 4]
sbb ecx, dword [esi + 0x14]
seto al
mov byte [esp + 0x1c], al
mov edx, ecx
sar edx, 0x1f
test al, al
cmovne edi, edx
xor edx, 0x80000000
mov dword [esp + 0x2c], ebx
sub ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
sbb eax, dword [esp + 0x20]
seto byte [esp + 0x10]
cmp byte [esp + 0x1c], 0
cmove edx, ecx
mov ecx, eax
sar ecx, 0x1f
cmp byte [esp + 0x10], 0
cmovne ebx, ecx
xor ecx, 0x80000000
cmp byte [esp + 0x10], 0
cmove ecx, eax
mov dword [esp + 0x10], ecx
cmp ebx, edi
mov eax, ecx
sbb eax, edx
mov dword [esp + 0x34], edx
cmovl edx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], edi
cmovl edi, ebx
lea eax, [esp + 0xa8]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp], xmm0
mov dword [esp + 0x14], esi
mov ecx, esi
mov edx, str.Scheduling.ThreadController.ActiveIntervalDuration
call fcn.00402130
mov edx, dword [esp + 0x1c]
mov eax, edi
add eax, 1
mov ecx, edx
adc ecx, 0x80000000
mov dword [esp + 0x44], eax
cmp eax, 2
mov dword [esp + 0x40], ecx
mov eax, ecx
mov ecx, dword [esp + 0x10]
sbb eax, 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x18], ebx
jb 0x591688
mov eax, ebx
sub eax, edi
sbb ecx, edx
seto dl
mov esi, ecx
sar esi, 0x1f
test dl, dl
cmovne eax, esi
add esi, 0x80000000
test dl, dl
cmove esi, ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp], xmm0
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, str.Scheduling.ThreadController.ActiveIntervalOffCpuDuration
call fcn.00402130
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edi
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
mov ecx, esi
mov edx, str.Scheduling.ThreadController.ActiveIntervalOnCpuDuration
call fcn.00402130
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
xor ecx, dword [esp + 0x20]
or ecx, eax
mov dword [esp + 0x30], edi
je 0x591676
mov esi, ebx
mov eax, ebx
sar eax, 0x1f
xor ebx, eax
xor edi, eax
sub edi, eax
mov dword [esp + 0x24], edi
sbb ebx, eax
mov dword [esp + 0x20], ebx
mov ecx, 0x64
mov eax, edi
mul ecx
mov dword [esp + 0x28], eax
imul ecx, ebx, 0x64
mov edi, edx
add edi, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], 0
neg eax
mov edx, 0
sbb edx, edi
xor edi, edi
inc edi
mov ecx, edi
add ecx, 0xffffffff
mov ebx, 0x80000000
adc ebx, 0xffffffff
test esi, esi
cmovns edx, dword [esp + 0x2c]
cmovns eax, dword [esp + 0x28]
lea esi, [edi - 2]
cmovns ecx, esi
mov esi, 0x80000000
lea esi, [esi - 1]
cmovns ebx, esi
mov esi, 0x7ae147ae
cmp esi, dword [esp + 0x24]
mov esi, 0x147ae14
sbb esi, dword [esp + 0x20]
cmovae ecx, eax
cmovae ebx, edx
mov eax, ecx
add eax, edi
mov edx, ebx
mov esi, 0x80000000
adc edx, esi
cmp eax, 2
sbb edx, 0
jb 0x5916dd
mov edi, dword [esp + 0x10]
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x18]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.00586340
sub esp, 0x10
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
movsd xmm0, qword [esp + 0x78]
movsd qword [esp], xmm0
mov edx, eax
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00402a00
mov eax, dword [esi + 0x50]
test eax, eax
je 0x591673
cmp byte [eax + 0xc], 1
je 0x591747
mov edi, dword [esp + 0x14]
lea eax, [edi + 8]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
lea esi, [esp + 0x70]
mov dword [esp], esi
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004fa990
sub esp, 4
movsd xmm0, qword [esi]
movsd qword [edi], xmm0
jmp 0x591013
call fcn.005c29a0
jmp 0x590fe2
int3
int3
int3
movzx esi, al
lea edi, [esp + 0xa8]
mov dword [esp], edi
mov ecx, ebx
call fcn.004fa990
sub esp, 4
lea eax, [esp + 0xa0]
mov dword [eax], 0
mov dword [esp + 4], edi
mov dword [esp], eax
lea edx, [esp + 0x98]
mov ecx, esi
call fcn.005cd180
jmp 0x59102b
movzx ebx, al
lea eax, [esp + 0xa0]
mov dword [eax], esi
lea edi, [esp + 0xa8]
mov dword [esp], edi
mov ecx, dword [ebp + 8]
call fcn.004fa990
sub esp, 4
lea eax, [esp + 0x98]
mov dword [eax], str.ThreadController_active
lea ecx, [esp + 0xa0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
lea edx, [esp + 0x90]
mov ecx, ebx
call fcn.005ccf40
jmp 0x59116c
int3
mov eax, 0x64
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
jmp 0x59156c
cmp dword [esp + 0x38], ebx
mov eax, dword [esp + 0x34]
sbb eax, ecx
jge 0x591cab
test edx, edx
js 0x5916c1
xor eax, eax
inc eax
add eax, 0xffffffff
mov ecx, 0x80000000
adc ecx, 0xffffffff
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x18]
jmp 0x591419
mov eax, 0x80000000
dec eax
xor ecx, ecx
inc ecx
add ecx, 0xfffffffe
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
jmp 0x5916b8
mov eax, dword [esp + 0x18]
xor edx, edx
inc edx
add eax, edx
mov ecx, dword [esp + 0x10]
adc ecx, esi
cmp edx, eax
sbb dword [esp + 0x3c], ecx
jae 0x591cae
xor eax, eax
mov edi, dword [esp + 0x10]
xor ebx, edi
setns al
neg eax
mov esi, dword [esp + 0x18]
jmp 0x59156c
xor esi, esi
inc esi
mov ecx, edi
add ecx, esi
mov dword [esp + 0x1c], ecx
mov ecx, eax
adc ecx, 0x80000000
xor esi, esi
inc esi
cmp esi, dword [esp + 0x1c]
sbb edx, ecx
setb dl
mov esi, dword [esp + 0x10]
xor edi, esi
xor eax, ebx
or eax, edi
mov ecx, esi
sete al
or al, dl
jne 0x591280
int3
mov eax, dword [esp + 0x18]
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov edx, 0x80000000
adc ecx, edx
cmp eax, 2
sbb ecx, 0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
jae 0x5917ab
mov ecx, edx
xor esi, esi
inc esi
add ecx, esi
mov esi, eax
mov edi, 0x80000000
adc esi, edi
xor ebx, ebx
xor edi, edi
inc edi
cmp edi, ecx
sbb ebx, esi
setb cl
mov esi, dword [esp + 0x18]
xor edx, esi
mov edi, dword [esp + 0x10]
xor eax, edi
or eax, edx
sete al
or al, cl
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
jne 0x5917d3
jmp 0x591ca2
add edx, dword [esp + 0x18]
adc eax, dword [esp + 0x10]
seto bl
mov ecx, eax
sar ecx, 0x1f
lea esi, [ecx - 0x80000000]
test bl, bl
cmove ecx, edx
mov dword [esp + 0x20], ecx
test bl, bl
cmove esi, eax
mov dword [esp + 0x24], esi
xor eax, eax
xor ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x44]
mov edx, 0
sbb edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x24], edx
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
jae 0x59185c
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x30]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
sbb edi, ecx
seto byte [esp + 0x10]
mov eax, edi
sar eax, 0x1f
add edx, dword [esp + 0x30]
adc ebx, ecx
seto ch
mov cl, byte [esp + 0x10]
test cl, cl
cmovne esi, eax
mov dword [esp + 0x18], esi
xor eax, 0x80000000
test cl, cl
cmove eax, edi
mov esi, ebx
sar esi, 0x1f
test ch, ch
cmovne edx, esi
xor esi, 0x80000000
test ch, ch
cmove esi, ebx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x2c], esi
jmp 0x5918cd
mov esi, edx
xor ecx, ecx
inc ecx
add esi, ecx
mov ecx, ebx
mov edi, 0x80000000
adc ecx, edi
xor edi, edi
inc edi
cmp edi, esi
sbb eax, ecx
setb al
xor edx, dword [esp + 0x30]
xor ebx, dword [esp + 0x1c]
or ebx, edx
sete dl
or dl, al
je 0x591cb1
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
sbb eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x2c], ecx
jge 0x591cb4
mov ecx, dword [esp + 0x1c]
shr ecx, 0x1f
not ecx
xor eax, eax
inc eax
add ecx, eax
mov eax, 0x80000000
adc eax, 0xffffffff
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
xor edx, edx
inc edx
add ecx, edx
mov edx, eax
mov esi, 0x80000000
adc edx, esi
cmp ecx, 2
sbb edx, 0
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
jae 0x591929
mov ecx, ebx
xor esi, esi
inc esi
add ecx, esi
mov esi, edx
mov edi, 0x80000000
adc esi, edi
mov dword [esp + 0x10], 0
xor edi, edi
inc edi
cmp edi, ecx
sbb dword [esp + 0x10], esi
setb cl
xor ebx, dword [esp + 0x18]
xor edx, eax
or edx, ebx
sete dl
or dl, cl
jne 0x59194b
jmp 0x591ca5
add ebx, dword [esp + 0x18]
adc edx, eax
seto cl
mov esi, edx
sar esi, 0x1f
lea eax, [esi - 0x80000000]
test cl, cl
cmove esi, ebx
mov dword [esp + 0x18], esi
test cl, cl
cmove eax, edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x10], eax
xor ecx, ecx
inc ecx
add eax, ecx
mov dword [esp + 0x1c], edx
mov ecx, edx
mov edx, 0x80000000
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jae 0x5919af
mov edi, dword [esp + 0x20]
mov eax, edi
xor esi, esi
inc esi
add eax, esi
mov ebx, dword [esp + 0x24]
mov ecx, ebx
adc ecx, edx
xor edx, edx
cmp esi, eax
sbb edx, ecx
setb al
xor edi, dword [esp + 0x10]
xor ebx, dword [esp + 0x1c]
or ebx, edi
sete cl
or cl, al
jne 0x5919df
jmp 0x591ca8
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
adc esi, dword [esp + 0x24]
seto al
mov ecx, esi
sar ecx, 0x1f
test al, al
cmovne edx, ecx
mov dword [esp + 0x10], edx
test al, al
lea eax, [ecx - 0x80000000]
cmovne esi, eax
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x10], 0xf4241
mov eax, dword [esp + 0x1c]
sbb eax, 0
jl 0x5915a1
mov ebx, dword [esp + 0x24]
mov eax, ebx
sar eax, 0x1f
mov edi, ebx
xor edi, eax
mov esi, dword [esp + 0x20]
xor esi, eax
sub esi, eax
sbb edi, eax
mov dword [esp + 0x2c], edi
mov ecx, 0x64
mov eax, esi
mul ecx
mov ebx, eax
mov dword [esp + 0x28], eax
imul ecx, edi, 0x64
add edx, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], 0
neg ebx
mov edi, 0
sbb edi, edx
xor ecx, ecx
inc ecx
mov edx, ecx
add edx, 0xffffffff
mov eax, 0x80000000
adc eax, 0xffffffff
cmp dword [esp + 0x24], 0
cmovns edi, dword [esp + 0x18]
cmovns ebx, dword [esp + 0x28]
lea ecx, [ecx - 2]
mov dword [esp + 0x28], ecx
cmovns edx, ecx
mov ecx, 0x80000000
lea ecx, [ecx - 1]
mov dword [esp + 0x18], ecx
cmovns eax, ecx
mov ecx, 0x7ae147ae
cmp ecx, esi
mov ecx, 0x147ae14
sbb ecx, dword [esp + 0x2c]
cmovae edx, ebx
cmovae eax, edi
lea ecx, [esp + 0x70]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x2c], 0x147ae14
movsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
call fcn.00560e40
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x591c9c
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, str.Scheduling.ThreadController.ActiveVsWallTimePercentage
call fcn.005cccd0
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x20], ecx
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
mov ebx, dword [esi + 0x28]
xor ebx, eax
sub ebx, eax
mov edi, ecx
sbb edi, eax
mov dword [esp + 0x38], edi
mov ecx, 0x64
mov eax, ebx
mul ecx
mov esi, eax
mov ecx, edx
imul eax, edi, 0x64
add ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], 0
mov edx, esi
neg edx
mov edi, 0
sbb edi, ecx
xor ecx, ecx
inc ecx
add ecx, 0xffffffff
mov eax, 0x80000000
adc eax, 0xffffffff
cmp dword [esp + 0x20], 0
cmovns edi, dword [esp + 0x34]
cmovns edx, esi
cmovns ecx, dword [esp + 0x28]
cmovns eax, dword [esp + 0x18]
mov esi, 0x7ae147ae
cmp esi, ebx
mov esi, 0x147ae14
sbb esi, dword [esp + 0x38]
cmovae ecx, edx
cmovae eax, edi
lea edx, [esp + 0x70]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
mov ecx, edx
call fcn.00560e40
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x591c96
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x14]
lea eax, [esi + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, esi
mov edx, str.Scheduling.ThreadController.ActiveOnCpuVsWallTimePercentage
call fcn.005cccd0
mov edi, dword [esi + 0x34]
mov ecx, edi
sar ecx, 0x1f
mov ebx, edi
xor ebx, ecx
mov eax, dword [esi + 0x30]
xor eax, ecx
sub eax, ecx
mov dword [esp + 0x38], eax
sbb ebx, ecx
mov dword [esp + 0x34], ebx
mov ecx, 0x64
mul ecx
mov dword [esp + 0x30], eax
imul ecx, ebx, 0x64
add edx, ecx
mov dword [esp + 0x24], 0
neg eax
mov ecx, 0
sbb ecx, edx
xor esi, esi
inc esi
add esi, 0xffffffff
mov ebx, 0x80000000
adc ebx, 0xffffffff
test edi, edi
cmovns ecx, edx
cmovns eax, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
cmovs edi, esi
mov esi, dword [esp + 0x18]
cmovs esi, ebx
mov edx, 0x7ae147ae
cmp edx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
sbb dword [esp + 0x2c], edx
cmovae edi, eax
cmovae esi, ecx
lea ecx, [esp + 0x70]
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.00560e40
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x591c93
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x14]
mov edx, str.Scheduling.ThreadController.ActiveOffCpuVsWallTimePercentage
call fcn.005cccd0
xorps xmm0, xmm0
mov eax, dword [esp + 0x20]
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
jmp 0x5915a1
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3