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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x414
push ebx
push esi
push edi
mov ebx, ecx
call fcn.004358f0
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
lea edi, [ebx + 4]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
lea edi, [ebx + 0x4c]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
xor esi, esi
cmp eax, esi
mov dword [ebx], eax
je 0x4358de
lea ecx, [esp + 0x34]
call fcn.005668b0
mov eax, dword [ebp + 0xc]
push 1
push eax
lea ecx, [esp + 0x3c]
call fcn.00566b20
test al, al
je 0x4358d5
xor eax, eax
mov ecx, 0x60
lea edi, [esp + 0x2a0]
rep stosd dword es:[edi], eax
push 0x180
lea ecx, [esp + 0x2a4]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x290], esi
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x29c], esi
mov dword [esp + 0x2a0], esi
mov byte [esp + 0x294], 1
call fcn.00566cc0
test eax, eax
je 0x4358d5
lea ecx, [esp + 0x108]
call fcn.005651b0
test eax, eax
jne 0x4358b7
push esi
push esi
push esi
lea edx, [esp + 0x34]
push edx
push str.HeadMass
lea ecx, [esp + 0x11c]
call fcn.00565aa0
test eax, eax
je 0x435512
fld qword [esp + 0x28]
mov eax, dword [ebx]
fld st(0)
fxch st(1)
fstp qword [eax + 0xac]
fld qword [0x59e420]
fdiv st(1)
fstp qword [eax + 0xb4]
fstp st(0)
push esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x5c]
push edx
push str.HeadInertia
lea ecx, [esp + 0x11c]
call fcn.00565aa0
test eax, eax
je 0x435543
mov ecx, dword [ebx]
lea eax, [esp + 0x50]
push eax
call fcn.005697a0
push esi
lea ecx, [ebx + 0x2c]
push ecx
lea edx, [ebx + 0x24]
push edx
lea eax, [ebx + 0x1c]
push eax
push str.MinPos
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push esi
lea ecx, [ebx + 0x44]
push ecx
lea edx, [ebx + 0x3c]
push edx
lea eax, [ebx + 0x34]
push eax
push str.MaxPos
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push esi
lea ecx, [ebx + 0x74]
push ecx
lea edx, [ebx + 0x6c]
push edx
lea edi, [ebx + 0x64]
push edi
push str.MinOri
lea ecx, [esp + 0x11c]
call fcn.00565aa0
test eax, eax
je 0x4355c3
fld qword [edi]
fmul qword [0x59eae8]
fstp qword [edi]
fld qword [edi + 8]
fmul qword [0x59eae8]
fstp qword [edi + 8]
fld qword [edi + 0x10]
fmul qword [0x59eae8]
fstp qword [edi + 0x10]
push esi
lea eax, [ebx + 0x8c]
push eax
lea ecx, [ebx + 0x84]
push ecx
lea edi, [ebx + 0x7c]
push edi
push str.MaxOri
lea ecx, [esp + 0x11c]
call fcn.00565aa0
test eax, eax
je 0x43560d
fld qword [edi]
fmul qword [0x59eae8]
fstp qword [edi]
fld qword [edi + 8]
fmul qword [0x59eae8]
fstp qword [edi + 8]
fld qword [edi + 0x10]
fmul qword [0x59eae8]
fstp qword [edi + 0x10]
push esi
lea edx, [esp + 0xcc]
push edx
push str.Spring
lea ecx, [esp + 0x114]
call fcn.00565520
test eax, eax
je 0x435766
mov edi, dword [ebx + 0x94]
cmp dword [ebx + 0x98], edi
jl 0x4356d3
add edi, 3
mov eax, edi
imul eax, eax, 0x64
push eax
mov dword [ebx + 0x94], edi
call fcn.00587c03
mov esi, eax
add esp, 4
test esi, esi
je 0x435679
dec edi
test edi, edi
mov edx, esi
jl 0x435673
inc edi
mov ecx, edx
call fcn.00435390
add edx, 0x64
dec edi
jne 0x435666
mov dword [esp + 0xc], esi
jmp 0x435681
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0x98]
xor edx, edx
test eax, eax
jle 0x4356b4
xor eax, eax
nop
mov ecx, dword [esp + 0xc]
mov esi, dword [ebx + 0x9c]
lea edi, [eax + ecx]
add esi, eax
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x98]
inc edx
add eax, 0x64
cmp edx, ecx
jl 0x435690
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x4356c7
push eax
call fcn.00587bcf
add esp, 4
mov edx, dword [esp + 0xc]
mov dword [ebx + 0x9c], edx
xor esi, esi
lea eax, [esp + 0xc8]
push str.SLIDING
push eax
call fcn.00588410
add esp, 8
test eax, eax
jne 0x435700
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
imul ecx, ecx, 0x64
mov dword [ecx + edx], esi
jmp 0x435760
lea eax, [esp + 0xc8]
push str.NORMAL
push eax
call fcn.00588410
add esp, 8
test eax, eax
jne 0x435731
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
imul ecx, ecx, 0x64
mov dword [ecx + edx], 1
jmp 0x435760
lea eax, [esp + 0xc8]
push str.FREEDAMPING
push eax
call fcn.00588410
add esp, 8
test eax, eax
jne 0x435766
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
imul ecx, ecx, 0x64
mov dword [ecx + edx], 2
inc dword [ebx + 0x98]
mov edi, dword [ebx + 0x98]
dec edi
js 0x4358b7
cmp edi, dword [ebx + 0x94]
jge 0x4358b7
mov eax, dword [ebx + 0x9c]
imul edi, edi, 0x64
add edi, eax
push esi
lea eax, [edi + 0x14]
push eax
lea ecx, [edi + 0xc]
push ecx
lea edx, [edi + 4]
push edx
push str.SpringDir
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push esi
lea eax, [edi + 0x2c]
push eax
lea ecx, [edi + 0x24]
push ecx
lea edx, [edi + 0x1c]
push edx
push str.SpringHead
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push esi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
push str.SpringBody
lea ecx, [esp + 0x11c]
call fcn.00565aa0
test eax, eax
je 0x435884
lea eax, [ebx + 0x4c]
push eax
lea ecx, [esp + 0x6c]
call fcn.0056bd40
fld qword [esp + 0x70]
fmul qword [esp + 0x18]
fld qword [esp + 0x78]
fmul qword [esp + 0x20]
faddp st(1)
fld qword [esp + 0x68]
fmul qword [esp + 0x10]
faddp st(1)
fld qword [esp + 0x80]
fmul qword [esp + 0x10]
fld qword [esp + 0x88]
fmul qword [esp + 0x18]
faddp st(1)
fld qword [esp + 0x90]
fmul qword [esp + 0x20]
faddp st(1)
fld qword [esp + 0x98]
fmul qword [esp + 0x10]
fld qword [esp + 0xa0]
fmul qword [esp + 0x18]
faddp st(1)
fld qword [esp + 0xa8]
fmul qword [esp + 0x20]
faddp st(1)
fstp qword [esp + 0xc0]
fxch st(1)
fadd qword [ebx + 4]
fstp qword [edi + 0x34]
fadd qword [ebx + 0xc]
fstp qword [edi + 0x3c]
fld qword [esp + 0xc0]
fadd qword [ebx + 0x14]
fstp qword [edi + 0x44]
push esi
push esi
push esi
lea eax, [edi + 0x4c]
push eax
push str.SpringCollLen
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push esi
push esi
lea ecx, [edi + 0x5c]
push ecx
add edi, 0x54
push edi
push str.SpringParams
lea ecx, [esp + 0x11c]
call fcn.00565aa0
push 0x180
lea edx, [esp + 0x2a4]
push edx
lea ecx, [esp + 0x3c]
call fcn.00566cc0
test eax, eax
jne 0x4354c1
lea ecx, [esp + 0x34]
call fcn.005668d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10