Function at 0x55b4a0
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 ebx, dword [ebp + 8]
mov eax, dword [0x5c7040]
xor eax, ebp
mov dword [esp + 0xb0], eax
test ebx, ebx
setne al
cmp dword [ecx + 0x48], 0
mov dword [ecx + 0x48], ebx
sete cl
xor cl, al
je 0x55b4ed
mov ecx, dword [esp + 0xb0]
xor ecx, ebp
call fcn.004f5620
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov edi, dword [ebp + 0xc]
test ebx, ebx
je 0x55b5bb
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x55bb47
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
jne 0x55bb4a
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x55b643
mov eax, dword [0x5dcbe0]
mov ecx, dword [0x5cacb4]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x55bae4
mov eax, dword [esi + 0x50]
test eax, eax
je 0x55bb4d
cmp byte [0x5dcbdc], 1
jne 0x55b580
cmp byte [eax + 0xc], 0
je 0x55b560
movsd xmm0, qword [0x592520]
jmp 0x55b568
movsd xmm0, qword [0x5b5d78]
lea ecx, [esi + 0x38]
movsd qword [esp], xmm0
call fcn.004b3730
sub esp, 8
test al, al
jne 0x55b602
mov dword [esp + 0x90], 0xa
mov eax, dword [0x5abe0c]
mov al, byte [eax + 0xa]
test al, al
jne 0x55bbc1
mov al, byte [0x5ca954]
test al, 1
jne 0x55bb25
mov esi, dword [0x5dcbd8]
test esi, esi
je 0x55b4d5
jmp 0x55bb50
mov al, byte [0x5ca954]
test al, 1
jne 0x55bb18
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x55b74c
mov dword [esp + 0x98], 0xa
mov eax, dword [0x5abe0c]
mov al, byte [eax + 0xa]
test al, al
jne 0x55bb6e
call fcn.004a6040
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x55b5a8
call fcn.004e07f0
jmp 0x55b5a8
lea eax, [esp + 0x98]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
lea eax, [esp + 0x98]
movsd xmm0, qword [eax]
movsd qword [esi + 8], xmm0
mov dword [esp], eax
call fcn.004489f0
lea eax, [esp + 0x98]
movsd xmm0, qword [eax]
movsd qword [esi + 0x10], xmm0
jmp 0x55b580
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
lea eax, [esp + 0xa8]
mov edx, dword [eax]
sub edx, dword [esi]
mov ecx, dword [eax + 4]
sbb ecx, dword [esi + 4]
seto byte [esp + 0x18]
mov eax, ecx
sar eax, 0x1f
cmp byte [esp + 0x18], 0
cmovne edx, eax
add eax, 0x80000000
cmp byte [esp + 0x18], 0
cmove eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0xa8]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], eax
movsd xmm0, qword [ecx]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 4], xmm0
mov dword [esp], str.Scheduling.ThreadController.IdleDuration
mov ecx, esi
call fcn.0047c110
sub esp, 0x14
xor eax, eax
mov dword [esi + 4], eax
mov dword [esp + 0x20], 0
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
add eax, 1
mov ecx, dword [esp + 0x18]
adc ecx, 0x80000000
cmp eax, 2
sbb ecx, 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
jb 0x55bcb2
add eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
adc ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
seto dl
mov eax, ecx
sar eax, 0x1f
lea ecx, [eax - 0x80000000]
mov dword [esp + 0x18], ecx
test dl, dl
cmove eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test dl, dl
cmove eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
jmp 0x55b51b
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xa8]
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov dword [esp], eax
call fcn.004489f0
lea eax, [esp + 0xa8]
mov ecx, dword [eax]
sub ecx, dword [esi + 0x10]
mov edx, dword [eax + 4]
sbb edx, dword [esi + 0x14]
mov dword [esp + 0x20], edx
seto al
mov byte [esp + 0x28], al
sar edx, 0x1f
test al, al
cmovne ecx, edx
mov dword [esp + 0x38], ecx
xor edx, 0x80000000
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x2c]
sbb ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
seto byte [esp + 0x18]
cmp byte [esp + 0x28], 0
cmove edx, dword [esp + 0x20]
sar ecx, 0x1f
cmp byte [esp + 0x18], 0
mov eax, dword [esp + 0x1c]
cmovne eax, ecx
mov dword [esp + 0x1c], eax
xor ecx, 0x80000000
cmp byte [esp + 0x18], 0
cmove ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x38]
mov eax, ecx
sbb eax, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], ecx
cmovl edx, ecx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
cmovl eax, edx
mov dword [esp + 0x28], eax
lea eax, [esp + 0xa8]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 4], xmm0
mov dword [esp], str.Scheduling.ThreadController.ActiveIntervalDuration
mov ecx, esi
call fcn.0047c110
sub esp, 0x14
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, 1
mov eax, dword [esp + 0x18]
adc eax, 0x80000000
mov dword [esp + 0x40], edx
cmp edx, 2
mov dword [esp + 0x4c], eax
sbb eax, 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
jb 0x55bc2d
sub eax, dword [esp + 0x28]
mov edx, ecx
sbb edx, dword [esp + 0x18]
seto byte [esp + 0x34]
mov ecx, edx
sar ecx, 0x1f
cmp byte [esp + 0x34], 0
cmovne eax, ecx
add ecx, 0x80000000
cmp byte [esp + 0x34], 0
cmove ecx, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 4], xmm0
mov dword [esp], str.Scheduling.ThreadController.ActiveIntervalOffCpuDuration
mov ecx, esi
call fcn.0047c110
sub esp, 0x14
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x80], eax
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 4], xmm0
mov dword [esp], str.Scheduling.ThreadController.ActiveIntervalOnCpuDuration
mov ecx, esi
call fcn.0047c110
sub esp, 0x14
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x30]
or ecx, eax
je 0x55bc20
mov ecx, dword [esp + 0x18]
mov edx, ecx
sar edx, 0x1f
xor ecx, edx
mov eax, dword [esp + 0x28]
xor eax, edx
sub eax, edx
mov dword [esp + 0x30], eax
sbb ecx, edx
mov dword [esp + 0x3c], ecx
mov edx, 0x64
mul edx
mov dword [esp + 0x2c], eax
imul eax, ecx, 0x64
add edx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x2c]
neg eax
mov dword [esp + 0x24], eax
mov eax, 0
sbb eax, edx
xor edx, edx
inc edx
add edx, 0xffffffff
mov ecx, SysReAllocString
adc ecx, 0xffffffff
cmp dword [esp + 0x18], 0
cmovns eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
cmovns eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, 1
lea eax, [eax - 2]
cmovns edx, eax
mov eax, SysReAllocString
lea eax, [eax - 1]
cmovns ecx, eax
mov eax, 0x7ae147ae
cmp eax, dword [esp + 0x30]
mov eax, 0x147ae14
sbb eax, dword [esp + 0x3c]
cmovae edx, dword [esp + 0x24]
cmovae ecx, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov eax, edx
xor edx, edx
inc edx
add eax, edx
mov dword [esp + 0x2c], eax
mov edx, ecx
mov eax, SysReAllocString
adc edx, eax
cmp dword [esp + 0x2c], 2
sbb edx, 0
jb 0x55bc77
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.0051a300
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x7c], ecx
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], str.Scheduling.ThreadController.ActiveIntervalOnCpuPercentage
mov ecx, esi
call fcn.0047bee0
sub esp, 0x10
mov eax, dword [esi + 0x50]
test eax, eax
je 0x55bc2a
cmp byte [eax + 0xc], 1
je 0x55bcfb
lea eax, [esi + 8]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
lea eax, [esp + 0x70]
movsd xmm0, qword [eax]
movsd qword [esi], xmm0
jmp 0x55b5d4
mov dword [esp], 0x5dcbe0
call fcn.004f50f1
cmp dword [0x5dcbe0], 0xffffffff
jne 0x55b53c
call fcn.0043c830
mov byte [0x5dcbdc], al
mov dword [esp], 0x5dcbe0
call fcn.004f516b
jmp 0x55b53c
lea ecx, [esi + 0x58]
call fcn.0048e2d0
jmp 0x55b5c8
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 fcn.0048e1e0
sub esp, 8
jmp 0x55b5a8
int3
int3
int3
xor eax, eax
test ebx, ebx
sete al
mov ecx, dword [esi]
mov edi, dword [ecx + eax*4 + 4]
mov ecx, edi
call dword [0x5c0d2c]
mov ecx, esi
call edi
jmp 0x55b4d5
movzx esi, al
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
lea eax, [esp + 0xa0]
mov dword [eax], 0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0xc], 2
call fcn.0055c880
jmp 0x55b5ef
movzx eax, al
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xa0]
mov dword [eax], esi
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov ecx, edi
call fcn.004ed470
sub esp, 4
lea eax, [esp + 0x98]
mov dword [eax], str.ThreadController_active
lea ecx, [esp + 0xa0]
mov dword [esp + 8], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp], eax
lea edx, [esp + 0x90]
mov ecx, dword [esp + 0x1c]
call fcn.0055c630
jmp 0x55b59b
mov eax, 0x64
jmp 0x55ba73
int3
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
sbb eax, ecx
jge 0x55c37d
test edx, edx
js 0x55bc58
xor eax, eax
inc eax
add eax, 0xffffffff
mov ecx, SysReAllocString
adc ecx, 0xffffffff
jmp 0x55b8d5
mov eax, SysReAllocString
dec eax
xor ecx, ecx
inc ecx
add ecx, 0xfffffffe
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
jmp 0x55b8e3
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
mov edx, SysReAllocString
adc ecx, edx
xor edx, edx
inc edx
cmp edx, eax
sbb dword [esp + 0x48], ecx
jae 0x55c380
xor eax, eax
mov ecx, dword [esp + 0x20]
xor dword [esp + 0x24], ecx
setns al
neg eax
jmp 0x55ba73
mov dword [esp + 0x28], eax
xor edx, edx
inc edx
add dword [esp + 0x28], edx
mov edx, ecx
adc edx, 0x80000000
mov dword [esp + 0x24], edx
xor edx, edx
inc edx
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
sbb dword [esp + 0x20], edx
setb byte [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
xor ecx, edx
or ecx, eax
sete al
or al, byte [esp + 0x20]
mov eax, edx
jne 0x55b73d
int3
mov eax, dword [esp + 0x1c]
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
mov edx, SysReAllocString
adc ecx, edx
cmp eax, 2
sbb ecx, 0
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
jae 0x55bd77
mov dword [esp + 0x24], ecx
xor edx, edx
inc edx
add dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
mov edx, SysReAllocString
adc dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0
xor edx, edx
inc edx
cmp edx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
sbb edx, dword [esp + 0x2c]
setb byte [esp + 0x24]
xor ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
xor eax, edx
or eax, ecx
sete al
or al, byte [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edx
jne 0x55bdb5
jmp 0x55c374
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
adc eax, dword [esp + 0x20]
seto byte [esp + 0x30]
mov edx, eax
sar edx, 0x1f
lea ecx, [edx - 0x80000000]
mov dword [esp + 0x24], ecx
cmp byte [esp + 0x30], 0
cmove edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
cmp byte [esp + 0x30], 0
mov ecx, dword [esp + 0x24]
cmove ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
xor eax, eax
inc eax
cmp eax, dword [esp + 0x40]
mov ecx, 0
sbb ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x3c], eax
jae 0x55be66
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
sbb dword [esp + 0x20], ecx
seto byte [esp + 0x38]
mov ecx, dword [esp + 0x20]
sar ecx, 0x1f
mov edx, dword [esp + 0x28]
add dword [esp + 0x30], edx
mov edx, dword [esp + 0x3c]
adc edx, dword [esp + 0x18]
seto byte [esp + 0x28]
cmp byte [esp + 0x38], 0
cmovne eax, ecx
mov dword [esp + 0x1c], eax
xor ecx, 0x80000000
cmp byte [esp + 0x38], 0
cmove ecx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, edx
sar ecx, 0x1f
cmp byte [esp + 0x28], 0
mov eax, dword [esp + 0x30]
cmovne eax, ecx
xor ecx, 0x80000000
cmp byte [esp + 0x28], 0
cmove ecx, edx
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
jmp 0x55beeb
mov eax, dword [esp + 0x30]
xor ecx, ecx
inc ecx
add eax, ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov ecx, SysReAllocString
adc dword [esp + 0x40], ecx
xor ecx, ecx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x40]
sbb dword [esp + 0x34], eax
setb al
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x28]
xor edx, dword [esp + 0x18]
or edx, ecx
sete cl
or cl, al
je 0x55c383
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
sbb eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x2c], eax
jge 0x55c386
mov ecx, dword [esp + 0x18]
shr ecx, 0x1f
not ecx
xor eax, eax
inc eax
add ecx, eax
mov eax, SysReAllocString
adc eax, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
inc edx
add ecx, edx
mov edx, dword [esp + 0x18]
mov eax, SysReAllocString
adc edx, eax
cmp ecx, 2
sbb edx, 0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
jae 0x55bf53
mov dword [esp + 0x20], eax
xor edx, edx
inc edx
add eax, edx
mov dword [esp + 0x38], eax
mov edx, ecx
mov eax, SysReAllocString
adc edx, eax
mov dword [esp + 0x28], 0
xor eax, eax
inc eax
cmp eax, dword [esp + 0x38]
sbb dword [esp + 0x28], edx
setb dl
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
xor ecx, dword [esp + 0x18]
or ecx, eax
sete cl
or cl, dl
jne 0x55bf89
jmp 0x55c377
add eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
adc ecx, dword [esp + 0x18]
seto byte [esp + 0x18]
mov eax, ecx
sar eax, 0x1f
lea edx, [eax - 0x80000000]
cmp byte [esp + 0x18], 0
cmove eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x18], 0
cmove edx, ecx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
xor ecx, ecx
inc ecx
add eax, ecx
mov dword [esp + 0x18], edx
mov ecx, edx
mov edx, SysReAllocString
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jae 0x55bffc
mov eax, dword [esp + 0x2c]
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x24]
adc ecx, edx
mov dword [esp + 0x20], 0
xor edx, edx
inc edx
cmp edx, eax
sbb dword [esp + 0x20], ecx
setb al
mov ecx, dword [esp + 0x2c]
xor ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
xor edx, dword [esp + 0x18]
or edx, ecx
sete cl
or cl, al
jne 0x55c034
jmp 0x55c37a
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
adc ecx, dword [esp + 0x24]
seto byte [esp + 0x18]
mov eax, ecx
sar eax, 0x1f
cmp byte [esp + 0x18], 0
cmovne edx, eax
mov dword [esp + 0x1c], edx
cmp byte [esp + 0x18], 0
lea eax, [eax - 0x80000000]
cmovne ecx, eax
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0xf4241
mov eax, dword [esp + 0x18]
sbb eax, 0
jl 0x55bab9
mov ecx, dword [esp + 0x24]
mov edx, ecx
sar edx, 0x1f
xor ecx, edx
mov eax, dword [esp + 0x2c]
xor eax, edx
sub eax, edx
mov dword [esp + 0x2c], eax
sbb ecx, edx
mov dword [esp + 0x3c], ecx
mov edx, 0x64
mul edx
mov dword [esp + 0x38], eax
imul eax, ecx, 0x64
add edx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x38]
neg eax
mov dword [esp + 0x28], eax
mov eax, 0
sbb eax, edx
mov dword [esp + 0x20], eax
xor ecx, ecx
inc ecx
add ecx, 0xffffffff
mov eax, SysReAllocString
adc eax, 0xffffffff
cmp dword [esp + 0x24], 0
mov edx, dword [esp + 0x20]
cmovns edx, dword [esp + 0x34]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
cmovns edx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, 1
lea edx, [edx - 2]
mov dword [esp + 0x24], edx
cmovns ecx, edx
mov edx, SysReAllocString
lea edx, [edx - 1]
mov dword [esp + 0x38], edx
cmovns eax, edx
mov edx, 0x7ae147ae
cmp edx, dword [esp + 0x2c]
mov edx, 0x147ae14
sbb edx, dword [esp + 0x3c]
cmovae ecx, dword [esp + 0x28]
cmovae eax, dword [esp + 0x20]
lea edx, [esp + 0x70]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], 0x147ae14
movsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
mov ecx, edx
call fcn.004e0750
sub esp, 8
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x55c36e
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], str.Scheduling.ThreadController.ActiveVsWallTimePercentage
mov ecx, esi
call fcn.0055c390
sub esp, 8
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x30], ecx
mov edx, ecx
sar edx, 0x1f
xor ecx, edx
mov eax, dword [esi + 0x28]
xor eax, edx
sub eax, edx
mov dword [esp + 0x34], eax
sbb ecx, edx
mov dword [esp + 0x44], ecx
mov edx, 0x64
mul edx
mov dword [esp + 0x2c], eax
imul eax, ecx, 0x64
add edx, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
neg eax
mov dword [esp + 0x20], eax
mov eax, 0
sbb eax, edx
mov edx, eax
xor ecx, ecx
inc ecx
add ecx, 0xffffffff
mov eax, SysReAllocString
adc eax, 0xffffffff
cmp dword [esp + 0x30], 0
cmovns edx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
cmovns edx, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
cmovns ecx, dword [esp + 0x24]
cmovns eax, dword [esp + 0x38]
mov edx, 0x7ae147ae
cmp edx, dword [esp + 0x34]
mov edx, 0x147ae14
sbb edx, dword [esp + 0x44]
cmovae ecx, dword [esp + 0x20]
cmovae eax, dword [esp + 0x30]
lea edx, [esp + 0x70]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
mov ecx, edx
call fcn.004e0750
sub esp, 8
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x55c368
mov dword [esp + 0x28], eax
lea eax, [esi + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], str.Scheduling.ThreadController.ActiveOnCpuVsWallTimePercentage
mov ecx, esi
call fcn.0055c390
sub esp, 8
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x34], ecx
mov edx, ecx
sar edx, 0x1f
xor ecx, edx
mov eax, dword [esi + 0x30]
xor eax, edx
sub eax, edx
mov dword [esp + 0x44], eax
sbb ecx, edx
mov dword [esp + 0x40], ecx
mov edx, 0x64
mul edx
mov dword [esp + 0x2c], eax
imul eax, ecx, 0x64
add edx, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
neg eax
mov dword [esp + 0x20], eax
mov eax, 0
sbb eax, edx
xor edx, edx
inc edx
add edx, 0xffffffff
mov ecx, SysReAllocString
adc ecx, 0xffffffff
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x34], 0
cmovns eax, dword [esp + 0x48]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
cmovns eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x24]
cmovs ecx, edx
mov eax, dword [esp + 0x38]
cmovs eax, dword [esp + 0x4c]
mov edx, 0x7ae147ae
cmp edx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
sbb dword [esp + 0x3c], edx
cmovae ecx, dword [esp + 0x20]
cmovae eax, dword [esp + 0x34]
lea edx, [esp + 0x70]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
mov ecx, edx
call fcn.004e0750
sub esp, 8
mov ecx, eax
sar ecx, 0x1f
xor ecx, edx
jne 0x55c365
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], str.Scheduling.ThreadController.ActiveOffCpuVsWallTimePercentage
mov ecx, esi
call fcn.0055c390
sub esp, 8
xorps xmm0, xmm0
mov eax, dword [esp + 0x30]
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
jmp 0x55bab9
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3