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

Disassembly:
push ebx
push esi
push ebp
sub esp, 0x70
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x88]
movzx eax, byte [0x95cd61]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x1c], edx
push eax
call fcn.004a1170
fld dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 4]
xor esi, esi
xor bl, bl
fstp dword [esp + 0x18]
pop ecx
jmp 0x41ff0d
lea eax, [esp + 0x68]
lea edx, [esp + 0x54]
lea ecx, [esp + 0x64]
push 0
push edx
push eax
lea eax, [esp + 0x64]
push ecx
mov ecx, 0x8f6754
push eax
push 1
push dword [0x5ec8c4]
push dword [0x5ec8d4]
push dword [0x5ec8c0]
push dword [0x5ec8c0]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.0042bf10
test al, al
je 0x41ff0c
lea eax, [esp + 0x6e]
push 0
push 0
push 1
push 1
push 0
push 0
push 2
push eax
lea eax, [esp + 0x78]
push 1
push dword [0x5ec8dc]
push eax
call fcn.004b2a30
add esp, 0x2c
cmp word [esp + 0x6e], 0
jne 0x41ff0c
mov bl, 1
inc esi
test bl, bl
jne 0x41ff1b
cmp si, 5
jl 0x41fe94
cmp si, 5
jge 0x420288
push 0x5a8
call fcn.00551120
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41ff42
mov ecx, ebx
push 1
push ebp
call fcn.0052c6b0
mov ebx, eax
fldz
fldz
fld dword [esp + 0x84]
fstp dword [ebx + 0x168]
fld dword [esp + 0x1c]
fstp dword [ebx + 0x16c]
fld dword [esp + 0x18]
fstp dword [ebx + 0x170]
fld dword [esp + 0x60]
fstp st(1)
fld dword [esp + 0x5c]
fstp st(2)
fld dword [esp + 0x58]
fstp dword [ebx + 0x34]
fld st(1)
fstp dword [ebx + 0x38]
fst dword [ebx + 0x3c]
fcompp
push 0
push dword [ebx + 0x170]
push dword [ebx + 0x16c]
push dword [ebx + 0x168]
push ebx
call fcn.0041fa00
add esp, 0x14
test al, al
fldz
fldz
fldz
fldz
je 0x41ffb6
mov byte [ebx + 0x15a], 9
jmp 0x41ffbd
mov byte [ebx + 0x15a], 8
mov byte [ebx + 0x164], 0x19
movsx eax, byte [ebx + 0x164]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [ebx + 0x160]
mov byte [ebx + 0x15b], 0
mov byte [ebx + 0x159], 2
fld dword [ebx + 0x16c]
fsub dword [esp + 0x5c]
fstp st(3)
fld dword [ebx + 0x168]
fsub dword [esp + 0x58]
fstp st(4)
fld st(3)
fstp st(2)
fld st(2)
fstp st(1)
fld st(2)
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fsqrt
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp st(4)
fld dword [0x5ec908]
fcomp st(4)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x420040
fld dword [0x5ec904]
fstp st(2)
jmp 0x420046
fld st(3)
fdivp st(2)
fdiv st(3)
fld st(1)
mov eax, 4
fstp dword [ebx + 0x14]
fst dword [ebx + 0x18]
mov dword [ebx + 0x1c], 0
add eax, ebx
fst dword [ebx + 4]
fld st(1)
fchs
fstp dword [eax + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0x3f800000
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
fld dword [esp + 0x54]
shl ecx, 5
shl eax, 5
fmul dword [ecx + 0x8f675c]
fld dword [0x5ec904]
fsub dword [esp + 0x54]
lea esi, [esp + 0x28]
push 0
fmul dword [eax + 0x8f675c]
lea eax, [esp + 0x30]
push 0
faddp st(1)
fstp dword [esp + 0x68]
fld dword [0x5ec914]
fstp dword [esp + 0xc]
fcompp
fcompp
push 1
push 0
push 0
push 0
push 1
push esi
push eax
lea eax, [esp + 0x7c]
push dword [0x5ec90c]
push eax
call fcn.004b0de0
add esp, 0x2c
test al, al
je 0x4200f5
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
lea eax, [esp + 0x2c]
lea edx, [esp + 0x28]
push 0
push 0
push 1
push 0
push 0
push 0
push 1
push edx
push eax
lea eax, [esp + 0x7c]
push dword [0x5ec918]
push eax
call fcn.004b0de0
add esp, 0x2c
test al, al
fldz
fldz
fldz
je 0x42018e
fld dword [esp + 0x34]
fstp st(1)
fld dword [esp + 0x60]
fstp st(2)
fld st(0)
fsub st(2)
fstp st(3)
fld st(2)
fcomp dword [0x5ec908]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x420154
fld st(2)
fchs
jmp 0x420156
fld st(2)
fstp st(3)
fld dword [esp + 4]
fsub st(2)
fstp st(2)
fld st(1)
fcomp dword [0x5ec908]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x420178
fld st(1)
fchs
jmp 0x42017a
fld st(1)
fstp st(2)
fld st(2)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x42018e
fst dword [esp + 4]
fld dword [0x5ec914]
fcomp dword [esp + 4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x4201c0
test ebx, ebx
je 0x420291
fcompp
mov ecx, ebx
mov esi, dword [ecx]
push 1
fstp st(0)
call dword [esi]
xor al, al
add esp, 0x70
pop ebp
pop esi
pop ebx
ret
fcompp
mov ecx, ebx
fstp st(0)
call fcn.004755c0
fadd dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov ecx, ebp
mov dword [esp + 8], eax
fstp dword [esp + 0x60]
fld dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov dword [esp + 0xc], edx
fstp dword [ebx + 0x34]
fld dword [esp + 8]
fstp dword [ebx + 0x38]
fld dword [esp + 0xc]
fstp dword [ebx + 0x3c]
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
mov al, byte [ebx + 0x50]
and al, 7
or al, 0x18
mov byte [ebx + 0x50], al
lea eax, [ebp - 0x61]
cmp eax, 9
ja case.0x420224.98
jmp dword [eax*4 + 0x5ecc5c]
mov al, byte [ebx + 0x1f5]
push ebx
and al, 0xfd
or al, 2
mov byte [ebx + 0x1f5], al
inc dword [0x885bb0]
call fcn.00415ce0
jmp 0x420265
mov al, byte [ebx + 0x1f5]
push ebx
and al, 0xfb
or al, 4
mov byte [ebx + 0x1f5], al
inc dword [0x9411f0]
call fcn.00415d00
pop ecx
push ebx
mov byte [ebx + 0x22e], 1
call fcn.004ae930
pop ecx
push str.CREATED_EMERGENCY_VEHICLE_n
call fcn.0059e460
pop ecx
mov al, 1
add esp, 0x70
pop ebp
pop esi
pop ebx
ret
xor al, al
add esp, 0x70
pop ebp
pop esi
pop ebx
ret
fcompp
fstp st(0)
jmp 0x4201b6