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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x214
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x78]
mov ebx, ecx
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [ebx + 0xbac], esi
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x70], 0x3f800000
mov dword [esp + 0x6c], 0x3f800000
mov eax, dword [ecx + 0x164]
test eax, eax
mov dword [esp + 0x1c], esi
jne 0x48e9d3
add ecx, 0x108
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], eax
jmp 0x48e9dd
lea edx, [esp + 0x24]
push edx
call fcn.004d2520
lea eax, [esp + 0x60]
push eax
mov ecx, ebx
call fcn.004ce0e0
test esi, esi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
jle 0x48ebe9
mov edx, dword [esp + 0x1c]
lea esi, [ebx + 0xbb0]
lea ecx, [ebx + 0xc08]
add edi, 0xa8
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edx
jmp 0x48ea40
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x11c]
push str._s.pi2
push ecx
call fcn.0058c396
mov ecx, dword [0x68008c]
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x120]
push edx
push 0
call fcn.004e5d20
push 1
push 0xc
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x54]
push edx
mov edx, dword [edi]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [0x68008c]
push eax
push edx
call fcn.004e8680
mov dword [esi], eax
mov dword [eax + 0xc0], ebx
mov ecx, dword [ebx + 0x30]
mov eax, dword [esi]
mov edx, dword [ecx + 0x10]
mov edi, dword [eax + 0x10]
and edx, 2
or edi, edx
mov dword [eax + 0x10], edi
mov eax, dword [esi]
or dword [eax + 0x10], 0x1000
mov eax, dword [esi]
mov ecx, dword [ebx + 0x30]
push eax
call fcn.004d3eb0
mov eax, dword [ebx + 0x30]
lea esi, [eax + 0x30]
mov eax, dword [esp + 0x14]
fld dword [eax - 0x1c]
mov ecx, 0x10
fchs
lea edi, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x30]
fld dword [eax - 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov eax, esi
mov dword [eax], ecx
mov dword [eax + 4], edx
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x34], edx
call fcn.00529e60
push esi
lea ecx, [esp + 0x94]
call fcn.00529ea0
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x94]
push eax
push 0x62f500
call fcn.004a1286
mov ecx, 0x10
mov esi, 0x62f500
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi]
mov dword [esp + 0x44], eax
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x50], edx
mov edx, dword [ecx]
push eax
call dword [edx]
mov ecx, dword [esi]
mov edx, dword [ecx]
push 0
lea eax, [esp + 0x64]
push eax
call dword [edx + 4]
mov ecx, dword [ebx + 0x30]
push ecx
mov ecx, dword [esi]
call fcn.004d1920
mov ecx, dword [esi]
push 0
push 0
call fcn.004d1a30
mov edx, dword [esi]
mov eax, dword [esp + 0x14]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x18]
add eax, 0x34
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
add esi, 4
add edx, 0xc
dec eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0x48ea31
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x21c]
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0xd10], eax
mov eax, dword [ecx + 0x164]
test eax, eax
jne 0x48ec1e
add ecx, 0x108
mov edx, dword [ecx]
mov dword [esp + 0x24], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x2c], ecx
jmp 0x48ec28
lea edx, [esp + 0x24]
push edx
call fcn.004d2520
lea eax, [esp + 0x60]
push eax
mov ecx, ebx
call fcn.004ce0e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0xd10]
test eax, eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x1c], 0
jle 0x48ee41
lea esi, [ebx + 0xd14]
lea ecx, [ebx + 0xd24]
add edi, 0x238
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edi
jmp 0x48eca5
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [edi]
push edx
lea eax, [esp + 0x11c]
push str._s.pi2
push eax
call fcn.0058c396
add esp, 0xc
push 0
push 1
lea ecx, [esp + 0x120]
push ecx
mov ecx, dword [0x68008c]
push 0
call fcn.004e5d20
push 1
push 0xc
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [0x68008c]
lea edx, [esp + 0x7c]
push edx
push eax
mov eax, dword [edi]
push eax
call fcn.004e8680
mov dword [esi], eax
mov dword [eax + 0xc0], ebx
mov ecx, dword [esi]
push ecx
mov ecx, dword [ebx + 0x30]
call fcn.004d3eb0
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp + 8]
lea esi, [eax + 0x30]
mov eax, dword [esp + 0x14]
fld dword [eax - 0x18]
mov ecx, 0x10
fchs
lea edi, [esp + 0xd0]
fstp dword [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
fld dword [eax - 0x14]
fadd dword [edx + 0xc]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fld dword [eax - 0x10]
mov eax, esi
mov dword [eax], ecx
fstp dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea ecx, [esp + 0x90]
call fcn.00529e60
push esi
lea ecx, [esp + 0x94]
call fcn.00529ea0
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0x94]
push eax
push 0x62f500
call fcn.004a1286
mov ecx, 0x10
mov esi, 0x62f500
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
mov dword [esp + 0x5c], eax
mov edx, dword [ecx]
push 0
lea eax, [esp + 0x58]
push eax
call dword [edx]
mov ecx, dword [esi]
mov edx, dword [ecx]
push 0
lea eax, [esp + 0x64]
push eax
call dword [edx + 4]
mov ecx, dword [ebx + 0x30]
push ecx
mov ecx, dword [esi]
call fcn.004d1920
mov ecx, dword [esi]
push 0
push 0
call fcn.004d1a30
mov edx, dword [esi]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add esi, 4
mov dword [ecx + 4], edx
add ecx, 0x20
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0xd10]
add esi, 0xc
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
jl 0x48ec9d
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48eeaa
push str.CHLOVehicle::InitWheeledDynamics
push 0x551
push 0x5e86a8
call fcn.004bdd70
push 0x35
push 0x3fc
call fcn.004be2d0
add esp, 0x14
test eax, eax
je 0x48ee78
mov ecx, eax
call fcn.0051a5c0
jmp 0x48ee7a
xor eax, eax
mov ecx, dword [ebx + 0x30]
push 1
push edi
push ecx
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x34]
push ecx
mov ecx, eax
mov dword [ebx + 0xd54], eax
call fcn.005181f0
mov edx, dword [ebx + 0xd54]
mov ecx, dword [0x680090]
push edx
call fcn.004f6d80
mov eax, dword [ebx + 0xe20]
pop edi
and eax, 0xfffffffb
pop esi
mov dword [ebx + 0xe20], eax
pop ebx
mov esp, ebp
pop ebp
ret 8