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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0xd0
push ebx
mov ebx, dword [esp + 0xd8]
push ebp
push esi
push edi
push eax
push ebx
call fcn.004c0d60
push str.loadBaseVehicleStats
push 0x574
push str.Stats.cpp
mov dword [0x63551c], eax
call fcn.004bdd70
mov eax, dword [0x63551c]
lea ecx, [eax + eax*8]
shl ecx, 4
push 0x27
push ecx
mov edi, eax
call fcn.004be320
mov esi, eax
xor ebp, ebp
add esp, 0x1c
cmp esi, ebp
je 0x45446e
push fcn.005b6bc0
push edi
push 0x90
push esi
call fcn.0059ee00
cmp dword [0x63551c], ebp
mov dword [0x635f78], esi
mov dword [esp + 0x18], ebp
jbe 0x4547cf
lea edx, [esp + 0x94]
lea ebp, [esi + 0x26]
sub esi, edx
mov dword [esp + 0x10], esi
jmp 0x454492
push str.loadBaseVehicleStats___Out_of_memory
mov dword [0x635f78], ebp
call fcn.004cd600
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd0
ret
mov esi, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x24
lea edi, [ebp - 0x26]
rep stosd dword es:[edi], eax
mov byte [esp + 0x94], al
mov byte [esp + 0xbc], al
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0xdc]
push ecx
lea edx, [esp + 0x10c]
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xe8]
push ecx
lea edx, [esp + 0x114]
push edx
push str.______d__d__d__d__d__f__d__f__d__t_t_t_d__d_______f__f__f__d__d__d__d__f__f__f__f__f__f__f__f__f__f__f__f__d
push ebx
call fcn.0058cfe8
add esp, 0x8c
lea eax, [esp + 0x94]
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x4545a8
mov ax, word [esp + 0x6c]
mov word [ebp - 2], ax
mov cx, word [esp + 0x24]
mov word [ebp], cx
mov dx, word [esp + 0x8c]
mov word [ebp + 2], dx
mov ax, word [esp + 0x2c]
mov word [ebp + 4], ax
mov cx, word [esp + 0x5c]
mov word [ebp + 6], cx
fld dword [esp + 0x34]
fmul dword [0x5da2d4]
fstp dword [ebp + 0xa]
mov dx, word [esp + 0x74]
mov word [ebp + 0xe], dx
fld dword [esp + 0x3c]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x12]
mov edx, dword [esp + 0x64]
test edx, edx
setne al
mov byte [ebp + 0x16], al
mov cx, word [esp + 0x44]
mov word [ebp + 0x18], cx
mov eax, dword [esp + 0x14]
cmp eax, 8
jbe 0x454643
push 8
lea edx, [esp + 0x98]
push edx
push str.loadBaseVehicleStats:_Unhandled_crew_size_for_vehicle__t_t_t_tstat__s___limiting_to__d
call fcn.004cd600
mov eax, 8
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [ebp + 0x1a], al
mov edi, 0x5e46c0
lea esi, [esp + 0xbc]
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x454682
lea ecx, [esp + 0xbc]
push ecx
call fcn.004c0cd0
push eax
push 0
call fcn.004500a0
add esp, 0xc
test eax, eax
je 0x4547df
mov dword [ebp + 0x1e], eax
jmp 0x454689
mov dword [ebp + 0x1e], 0
mov edx, dword [esp + 0x90]
mov dword [ebp + 0x22], edx
mov eax, dword [esp + 0x4c]
mov dword [ebp + 0x26], eax
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0x2a], ecx
mov dx, word [esp + 0x54]
mov word [ebp + 0x2e], dx
mov ax, word [esp + 0x20]
mov word [ebp + 0x30], ax
mov cx, word [esp + 0x28]
mov word [ebp + 0x32], cx
mov dx, word [esp + 0x30]
mov word [ebp + 0x34], dx
fld dword [esp + 0x38]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x36]
fld dword [esp + 0x40]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x3a]
fld dword [esp + 0x48]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x3e]
fld dword [esp + 0x50]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x42]
fld dword [esp + 0x58]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x46]
fld dword [esp + 0x60]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x4a]
fld dword [esp + 0x68]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x4e]
mov eax, dword [esp + 0x70]
cmp eax, 5
jbe 0x454746
push 5
lea eax, [esp + 0x98]
push eax
push str.loadBaseVehicleStats:_Too_many_gears_for_stat__s___max__d
call fcn.004cd600
add esp, 0xc
mov byte [ebp + 0x52], 5
jmp 0x454749
mov byte [ebp + 0x52], al
fld dword [esp + 0x78]
push 0xa
fmul dword [0x5da2d4]
push ebx
fstp dword [ebp + 0x56]
fld dword [esp + 0x84]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x5a]
fld dword [esp + 0x88]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x5e]
fld dword [esp + 0x8c]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x62]
fld dword [esp + 0x90]
fmul dword [0x5da2d4]
fstp dword [ebp + 0x66]
call fcn.0058cb50
mov edi, dword [esp + 0x18]
mov ecx, dword [0x63551c]
add esp, 8
inc eax
mov ebx, eax
mov eax, dword [esp + 0x18]
add edi, 0x90
add ebp, 0x90
inc eax
cmp eax, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], eax
jb 0x45448e
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xd0
ret
lea ecx, [esp + 0xbc]
push ecx
push str.loadBaseVehicleStats:_Invalid_propulsion_name__s
call fcn.004cd600
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd0
ret