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

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x30]
push ebp
push esi
xor eax, eax
xor esi, esi
test ebx, ebx
push edi
mov dword [esp + 0x20], eax
je 0x5bdef4
mov edi, dword [esp + 0x38]
nop
lea esp, [esp]
mov ecx, dword [edi + esi*4]
mov edx, ecx
and edx, 0x80000003
jns 0x5bdee2
dec edx
or edx, 0xfffffffc
inc edx
je 0x5bdee9
sub ecx, edx
add ecx, 4
add eax, ecx
inc esi
cmp esi, ebx
jne 0x5bded0
mov dword [esp + 0x20], eax
lea edi, [ebx*4]
mov ecx, edi
and ecx, 0x3f
je 0x5bdf0b
lea edi, [ebx*4 + 0x40]
sub edi, ecx
mov ebp, dword [esp + 0x40]
lea ebx, [ebp*4]
mov esi, ebx
and esi, 0x3f
jne 0x5bdf23
mov dword [esp + 0x40], ebx
jmp 0x5bdf30
lea ecx, [ebp*4 + 0x40]
sub ecx, esi
mov dword [esp + 0x40], ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, eax
shl ecx, 4
mov edx, ecx
and edx, 0x3f
jne 0x5bdf4b
mov dword [esp + 0x10], ecx
jmp 0x5bdf57
add eax, 4
shl eax, 4
sub eax, edx
mov dword [esp + 0x10], eax
test esi, esi
jne 0x5bdf61
mov dword [esp + 0x14], ebx
jmp 0x5bdf6e
lea eax, [ebp*4 + 0x40]
sub eax, esi
mov dword [esp + 0x14], eax
mov eax, ebp
neg eax
lea ecx, [ebp + ebp*2]
shl eax, 4
shl ecx, 4
and eax, 0x3f
jne 0x5bdf87
mov dword [esp + 0x18], ecx
jmp 0x5bdf90
sub ecx, eax
add ecx, 0x40
mov dword [esp + 0x18], ecx
mov eax, ebp
neg eax
shl eax, 5
and eax, 0x3f
jne 0x5bdfa7
mov esi, ebp
shl esi, 5
mov dword [esp + 0x1c], esi
jmp 0x5bdfb5
lea edx, [ebp + 2]
shl edx, 5
sub edx, eax
mov dword [esp + 0x1c], edx
mov esi, edx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
add esi, ecx
add esi, eax
mov eax, dword [esp + 0x34]
add esi, ebx
add esi, edx
add esi, edi
push esi
push eax
call fcn.005c6b60
mov ebx, dword [esp + 0x30]
push str.constraintForce
push edi
push esi
push eax
lea ecx, [esp + 0x48]
push ecx
mov dword [ebx], eax
mov dword [esp + 0x4c], 0
call fcn.005bd920
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x3c]
push str.bodyForce
push edx
mov dword [edi + 0x18], eax
mov eax, dword [ebx]
push esi
push eax
lea ecx, [esp + 0x5c]
push ecx
call fcn.005bd920
mov edx, dword [esp + 0x38]
push str.lambda
push edx
mov dword [edi + 0xc], eax
mov eax, dword [ebx]
push esi
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.005bd920
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov dword [edi], eax
mov eax, ecx
add esp, 0x3c
and eax, 0x8000000f
mov dword [edi + 0x20], edx
mov dword [edi + 0x14], ebp
jns 0x5be051
dec eax
or eax, 0xfffffff0
inc eax
je 0x5be058
sub ecx, eax
add ecx, 0x10
xor eax, eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x10], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x14]
push str.externalForce
push eax
mov dword [edi + 8], ecx
mov ecx, dword [ebx]
push esi
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.005bd920
mov edi, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx]
push str.invMworld
push eax
push esi
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.005bd920
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [ebx]
push str.unconstVel
push eax
push esi
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.005bd920
add esp, 0x3c
mov dword [edi + 0x10], eax
xor eax, eax
mov dword [edi + 0xc], ebp
mov dword [edi + 0x24], ebp
mov dword [edi + 0x18], ebp
mov dword [edi + 8], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x14], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0x20