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

Disassembly:
mov ecx, dword [0x52054c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x41b4e1
sub esp, 0x68
mov eax, dword [esp + 0x6c]
test byte [eax], al
lea ecx, [eax + 0xa0]
lea edx, [eax + 0xa8]
mov dword [esp + 0x54], edx
lea ebx, [eax + 0xb0]
mov dword [esp + 0x50], ebx
lea ebp, [eax + 0xb8]
mov dword [esp + 0x4c], ebp
lea esi, [eax + 0xc0]
mov dword [esp + 0x48], esi
lea edi, [eax + 0xc8]
mov dword [esp + 0x64], edi
lea edi, [eax + 0xd0]
mov dword [esp + 0x60], edi
lea edi, [eax + 0xd8]
mov dword [esp + 0x5c], edi
add eax, 0x68
mov dword [esp + 0x58], eax
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
nop
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime_internal_atomic.Storeint64
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0xe0], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0xe4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call sym.runtime_internal_atomic.Load64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x58], eax
mov dword [edx + 0x5c], ecx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sym.runtime.fint32to64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x3fd00000
call sym.runtime.fmul64
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x3fe00000
call sym.runtime.fadd64
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.f64toint64
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.fint64to64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
call sym.runtime.fdiv64
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0xbff00000
call sym.runtime.fadd64
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp], 0x33333333
mov dword [esp + 4], 0xbfd33333
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.fgt64
movzx eax, byte [esp + 0x10]
test al, al
je 0x41b0c9
mov eax, 1
jmp 0x41b0f2
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x33333333
mov dword [esp + 0xc], 0x3fd33333
call sym.runtime.fgt64
movzx eax, byte [esp + 0x10]
test al, al
jne 0x41b11b
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x108], 0
mov dword [edx + 0x10c], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x41b209
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call sym.runtime.fint64to64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
call sym.runtime.fgt64
movzx eax, byte [esp + 0x10]
test al, al
je 0x41b16c
mov eax, dword [esp + 0x24]
add eax, 0xffffffff
mov ecx, dword [esp + 0x28]
adc ecx, 0xffffffff
jmp 0x41b174
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.fint64to64
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
xor eax, 0x80000000
mov dword [esp + 0xc], eax
call sym.runtime.fadd64
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call sym.runtime.fint32to64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.fdiv64
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x108], eax
mov dword [edx + 0x10c], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [0x520800]
test ebx, ebx
jle 0x41b234
mov dword [edx + 0x108], 0
mov dword [edx + 0x10c], 0
mov eax, dword [esp + 0x78]
mov ecx, eax
sar eax, 0x1f
mov ebx, ecx
jmp 0x41b238
mov ebx, dword [esp + 0x78]
mov ebp, dword [0x4e1e78]
mov esi, dword [0x4e1e7c]
xor edi, edi
jmp 0x41b279
mov ebx, dword [ebp + edi*4]
mov dword [ebx + 0x958], 0
mov dword [ebx + 0x95c], 0
mov dword [ebx + 0x960], 0
mov dword [ebx + 0x964], 0
inc edi
mov ebx, dword [esp + 0x78]
cmp edi, esi
jl 0x41b248
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov ebp, dword [esp + 0x7c]
cmp ebp, 1
jne 0x41b2d1
test eax, eax
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x41b2bf
mov dword [esp], edx
mov dword [esp + 4], 0
call sym.runtime._gcControllerState_.setMaxIdleMarkWorkers
jmp 0x41b2df
mov dword [esp], edx
mov dword [esp + 4], 1
call sym.runtime._gcControllerState_.setMaxIdleMarkWorkers
jmp 0x41b2df
mov dword [esp], edx
sub ebx, ecx
mov dword [esp + 4], ebx
call sym.runtime._gcControllerState_.setMaxIdleMarkWorkers
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 0xe8]
nop
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
call sym.runtime_internal_atomic.Storeint64
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.runtime._gcControllerState_.revise
mov eax, dword [0x5207f8]
test eax, eax
jle 0x41b4dd
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 0xf8]
mov dword [esp + 0x58], ecx
nop
mov dword [esp], eax
call sym.runtime._gcControllerState_.heapGoalInternal
mov eax, dword [esp + 4]
shr eax, 0x14
mov ecx, dword [esp + 8]
mov edx, ecx
shl ecx, 0xc
or eax, ecx
mov dword [esp + 0x44], eax
shr edx, 0x14
mov dword [esp + 0x40], edx
nop
nop
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call sym.runtime_internal_atomic.Load64
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], ecx
lea edx, [0x520dd0]
mov dword [esp], edx
call sym.runtime_internal_atomic.Load64
mov eax, dword [0x4e2394]
mov ecx, dword [0x4e2390]
mov edx, eax
shl eax, 0xc
shr edx, 0x14
mov dword [esp + 0x3c], edx
shr ecx, 0x14
or eax, ecx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x6c]
mov ebx, dword [ecx + 0x108]
mov dword [esp + 0x34], ebx
mov ecx, dword [ecx + 0x10c]
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 4]
shr ebp, 0x14
mov dword [esp + 0x2c], ebp
mov esi, dword [esp + 8]
mov dword [esp + 0x1c], esi
call sym.runtime.printlock
lea eax, [0x479805]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call sym.runtime.printstring
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call sym.runtime.printfloat
lea eax, [0x477523]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
mov eax, dword [esp + 0x1c]
mov ecx, eax
shl eax, 0xc
mov edx, dword [esp + 0x2c]
or edx, eax
mov dword [esp], edx
shr ecx, 0x14
mov dword [esp + 4], ecx
call sym.runtime.printuint
lea eax, [0x47752a]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sym.runtime.printuint
lea eax, [0x4771c0]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.printstring
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call sym.runtime.printuint
lea eax, [0x478355]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call sym.runtime.printstring
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call sym.runtime.printint
lea eax, [0x47719d]
mov dword [esp], eax
mov dword [esp + 4], 1
call sym.runtime.printstring
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.printfloat
call sym.runtime.printnl
call sym.runtime.printunlock
add esp, 0x68
ret
call sym.runtime.morestack_noctxt
jmp sym.runtime._gcControllerState_.startCycle