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

Disassembly:
mov eax, 0x10c0
call fcn.0058ab90
push esi
push edi
xor edi, edi
cmp dword [0xa1a2c8], 2
mov esi, ecx
mov byte [esp + 0xb0], 0
mov byte [esp + 0x3c8], 0
mov dword [esp + 0x3b0], edi
mov dword [esp + 0x3c4], edi
mov dword [esp + 0x3bc], edi
mov dword [esp + 0x3c0], edi
mov byte [esp + 0x3b4], 1
jl 0x4e3513
push 0xe61
push str...Source_specialfx.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
push str.Entered_SpecialFX::Init__
push 0xa1a2c8
call fcn.004f3d30
add esp, 8
push 0x5ad73f
lea ecx, [esi + 0x50]
call fcn.00566e70
push 0x5ad73f
lea ecx, [esi + 0x58]
call fcn.00566e70
push 0x5ad73f
lea ecx, [esi + 0x60]
call fcn.00566e70
push 0x5ad73f
lea ecx, [esi + 0x68]
call fcn.00566e70
mov eax, dword [0xa18598]
mov ecx, dword [0xa185a0]
imul eax, eax, 0x158
lea eax, [eax + ecx + 0x100]
lea edx, [esp + 0xbc8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4e3568
push 0x100
lea edx, [esp + 0x7cc]
push edx
mov ecx, esi
call fcn.004e03e0
push edi
push 0xffffffffffffffff
lea eax, [esi + 0x70]
push eax
push 0xb5
mov dl, 0x5e
lea ecx, [esp + 0x7d8]
call fcn.00568f30
lea ecx, [esp + 0x7c8]
push 0x608980
push ecx
call fcn.0058b491
add esp, 8
cmp eax, edi
mov dword [esp + 0xc], eax
jne 0x4e3603
cmp dword [0xa1a2c8], 1
jl 0x4e421f
push 0xe7b
push str...Source_specialfx.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
lea edx, [esp + 0x7c8]
push edx
push str.Could_not_open__s
push 0xa1a2c8
call fcn.004f3d30
add esp, 0xc
pop edi
pop esi
add esp, 0x10c0
ret
push ebx
push ebp
push eax
lea eax, [esp + 0x3d4]
push 0x300
xor ebx, ebx
push eax
mov dword [esp + 0x24], edi
mov dword [esi + 0xc], edi
mov dword [esp + 0x1c], ebx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e398f
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0xcd0]
mov dword [esp + 0x1c], ecx
nop
lea ecx, [esp + 0xb8]
call fcn.00564e10
test eax, eax
jne 0x4e3969
lea edx, [esp + 0x3d0]
push str._TRACKVARS_
push edx
call fcn.00588710
add esp, 8
test eax, eax
je 0x4e3795
push edi
lea eax, [esp + 0x3d4]
push 0x300
push eax
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e3795
nop
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, 1
je 0x4e3795
cmp eax, 4
je 0x4e3795
test eax, eax
jne 0x4e3777
lea ecx, [esp + 0x3d0]
push 0x3d
push ecx
call fcn.0058b4c0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x4e3777
lea eax, [esp + 0x3d0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4e36e0
sub eax, edx
cmp eax, 0x20
jae 0x4e3777
mov byte [ebp], cl
push 0x28
add ebp, 1
call fcn.00588cb9
add esp, 4
test eax, eax
je 0x4e3713
mov ecx, eax
call fcn.004de120
mov edi, eax
jmp 0x4e3715
xor edi, edi
lea eax, [esp + 0x3d0]
mov edx, edi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x4e3722
push ebp
call fcn.0058ad69
fstp dword [edi + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 4
push 0
push edi
push 0x20
lea eax, [esp + 0xa4]
push eax
mov ecx, 0xa18578
mov dword [edi + 0x24], edx
mov dword [esp + 0x28], edi
call fcn.004d2500
test eax, eax
jne 0x4e3773
lea ecx, [esp + 0x98]
push ecx
call fcn.0058ad69
fstp dword [edi + 0x20]
add esp, 4
mov edi, dword [esp + 0x14]
push edi
lea edx, [esp + 0x3d4]
push 0x300
push edx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3690
lea eax, [esp + 0x3d0]
push str._FEEDBACK_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x4e38d7
mov ebp, dword [esp + 0x14]
push ebp
lea ecx, [esp + 0x3d4]
push 0x300
push ecx
mov bl, 1
xor edi, edi
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e38b5
jmp 0x4e37e0
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, 1
je 0x4e38b5
cmp eax, 4
je 0x4e38b5
test eax, eax
jne 0x4e3897
push eax
lea edx, [esp + 0x6d4]
push edx
push str.INCLUDETRACKS
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e383d
lea edx, [esp + 0xbd0]
lea ecx, [esp + 0x6d0]
call fcn.00567b10
test eax, eax
jne 0x4e383d
xor bl, bl
push 0
lea eax, [esp + 0x6d4]
push eax
push str.EXCLUDETRACKS
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e3875
lea edx, [esp + 0xbd0]
lea ecx, [esp + 0x6d0]
call fcn.00567b10
test eax, eax
je 0x4e3875
xor bl, bl
push 0
lea ecx, [esp + 0x6d4]
push ecx
push str.REACTION
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e3897
add edi, 1
push ebp
lea edx, [esp + 0x3d4]
push 0x300
push edx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e37e0
mov eax, dword [esp + 0x1c]
mov byte [eax], bl
add eax, 1
test bl, bl
mov dword [esp + 0x1c], eax
je 0x4e3969
add dword [esi + 0xc], 1
add dword [esp + 0x10], edi
jmp 0x4e3969
lea eax, [esp + 0x3d0]
push str._LOOSE_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x4e3969
push edi
lea ecx, [esp + 0x3d4]
push 0x300
push ecx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e3969
lea ebx, [ebx]
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, 1
je 0x4e3965
cmp eax, 4
je 0x4e3965
test eax, eax
jne 0x4e394b
push eax
lea edx, [esp + 0x6d4]
push edx
push str.REACTION
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e394b
add ebx, 1
push edi
lea eax, [esp + 0x3d4]
push 0x300
push eax
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3910
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x3d4]
push 0x300
push ecx
call fcn.0058a8ef
mov ebx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x4e3640
mov edi, dword [esi + 0xc]
xor ecx, ecx
mov eax, edi
mov edx, 0x74
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00587be5
add esp, 4
test eax, eax
je 0x4e39d2
push 0x4df9c0
push edi
lea ebp, [eax + 4]
push 0x74
push ebp
mov dword [eax], edi
call fcn.004011a0
jmp 0x4e39d4
xor ebp, ebp
xor ecx, ecx
mov eax, ebx
mov edx, 0x78
mul edx
seto cl
mov dword [esi + 0x10], ebp
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00587be5
add esp, 4
test eax, eax
je 0x4e3a17
push 0x4de160
push ebx
lea edi, [eax + 4]
push 0x78
push edi
mov dword [eax], ebx
call fcn.004011a0
jmp 0x4e3a19
xor edi, edi
xor ebp, ebp
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebp
mov dword [esi + 0x4c], ebp
mov eax, dword [0x679850]
cmp eax, ebp
mov byte [esp + 0xdd0], 0
mov byte [esp + 0x8d0], 0
jne 0x4e3a42
mov eax, 0x5ad73f
lea edx, [esp + 0xed0]
sub edx, eax
mov ebx, 1
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x4e3a50
mov eax, dword [0x608938]
mov ecx, dword [str.COMMONMAPS.MAS]
mov edx, dword [0x608934]
mov dword [esp + 0x9d8], eax
mov eax, dword [0x679860]
cmp eax, ebp
mov dword [esp + 0x9d0], ecx
mov cx, word [0x60893c]
mov dword [esp + 0x9d4], edx
mov dl, byte [0x60893e]
mov word [esp + 0x9dc], cx
mov byte [esp + 0x9de], dl
jne 0x4e3aab
mov eax, 0x5ad73f
lea edx, [esp + 0xfd0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, ebx
test cl, cl
jne 0x4e3ab4
mov eax, dword [str.CMAPS.MAS]
mov ecx, dword [0x5f236c]
mov dx, word [0x5f2370]
mov edi, dword [esp + 0x14]
push ebp
push ebp
push edi
mov dword [esp + 0xadc], eax
mov dword [esp + 0xae0], ecx
mov word [esp + 0xae4], dx
call fcn.0058aafd
push edi
lea eax, [esp + 0x3e0]
push 0x300
push eax
call fcn.0058a8ef
add esp, 0x18
test eax, eax
je 0x4e3eaa
lea ecx, [esp + 0xcd0]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xb8]
call fcn.00564e10
test eax, eax
jne 0x4e3e8c
push eax
push eax
push eax
lea ebp, [esi + 0x4c]
push ebp
push str.HATFilterMethod
lea ecx, [esp + 0xcc]
call fcn.00565360
test eax, eax
je 0x4e3b8a
mov eax, dword [ebp]
test eax, eax
jl 0x4e3b5c
cmp eax, 2
jle 0x4e3b8a
cmp dword [0xa1a2c8], ebx
jl 0x4e3b8a
push 0xf06
push str...Source_specialfx.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
push str.HATFilterMethod_should_be_between_0_and_2_in_TDF_file
push 0xa1a2c8
call fcn.004f3d30
add esp, 8
lea edx, [esp + 0x3d0]
push str._FEEDBACK_
push edx
call fcn.00588710
add esp, 8
test eax, eax
je 0x4e3d43
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
push edi
add eax, ebx
test cl, cl
lea edx, [esp + 0x3d4]
push 0x300
mov dword [esp + 0x24], eax
push edx
je 0x4e3cf7
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e3ced
lea esp, [esp]
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, ebx
je 0x4e3ced
cmp eax, 4
je 0x4e3ced
test eax, eax
jne 0x4e3ccf
push eax
lea eax, [esp + 0x6d4]
push eax
push str.REACTION
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e3cb6
mov eax, dword [esi + 0x14]
mov edx, eax
shl edx, 4
sub edx, eax
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [eax + edx*8]
call fcn.004e12e0
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
cmp dword [edx + ecx*8], 0x10
je 0x4e3cb6
xor edi, edi
test eax, eax
jle 0x4e3c87
xor ebp, ebp
nop
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov edx, ecx
shl edx, 4
sub edx, ecx
lea ecx, [eax + edx*8]
push ecx
lea ecx, [eax + ebp]
call fcn.004e0860
test al, al
jne 0x4e3c87
add edi, ebx
add ebp, 0x78
cmp edi, dword [esi + 0x14]
jl 0x4e3c60
mov eax, dword [esi + 0x14]
cmp edi, eax
jne 0x4e3c94
add eax, 1
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
add eax, dword [esp + 0x10]
mov edx, edi
shl edx, 4
sub edx, edi
mov edi, dword [esp + 0x14]
lea edx, [ecx + edx*8]
mov ecx, dword [eax + 0x40]
mov dword [eax + ecx*4 + 0x44], edx
add dword [eax + 0x40], ebx
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
add ecx, dword [esp + 0x10]
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.004dfc10
push edi
lea ecx, [esp + 0x3d4]
push 0x300
push ecx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3be0
add dword [esp + 0x10], 0x74
jmp 0x4e3e8c
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e3e8c
jmp 0x4e3d10
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, ebx
je 0x4e3e8c
push edi
lea eax, [esp + 0x3d4]
push 0x300
push eax
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3d10
jmp 0x4e3e8c
lea ecx, [esp + 0x3d0]
push str._LOOSE_
push ecx
call fcn.00588710
add esp, 8
test eax, eax
je 0x4e3e8c
push edi
lea edx, [esp + 0x3d4]
push 0x300
push edx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
je 0x4e3e8c
mov edi, edi
lea ecx, [esp + 0xb8]
call fcn.00564e10
cmp eax, ebx
je 0x4e3e8c
cmp eax, 4
je 0x4e3e8c
test eax, eax
jne 0x4e3e6e
push eax
lea eax, [esp + 0x6d4]
push eax
push str.REACTION
lea ecx, [esp + 0xc4]
call fcn.00565d50
test eax, eax
je 0x4e3e34
mov eax, dword [esi + 0x14]
mov edx, eax
shl edx, 4
sub edx, eax
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [eax + edx*8]
call fcn.004e12e0
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
cmp dword [edx + ecx*8], 0x10
je 0x4e3e34
xor edi, edi
test eax, eax
jle 0x4e3e27
xor ebp, ebp
jmp 0x4e3e00
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov edx, ecx
shl edx, 4
sub edx, ecx
lea ecx, [eax + edx*8]
push ecx
lea ecx, [eax + ebp]
call fcn.004e0860
test al, al
jne 0x4e3e27
add edi, ebx
add ebp, 0x78
cmp edi, dword [esi + 0x14]
jl 0x4e3e00
mov eax, dword [esi + 0x14]
cmp edi, eax
jne 0x4e3e34
add eax, 1
mov dword [esi + 0x14], eax
push 0
lea edx, [esp + 0xdd4]
push edx
push str.SEARCHPATH
lea ecx, [esp + 0xc4]
call fcn.00565d50
push 0
lea eax, [esp + 0x8d4]
push eax
push str.MASFILE
lea ecx, [esp + 0xc4]
call fcn.00565d50
mov edi, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x3d4]
push 0x300
push ecx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3d80
push edi
lea edx, [esp + 0x3d4]
push 0x300
push edx
call fcn.0058a8ef
add esp, 0xc
test eax, eax
jne 0x4e3b20
mov ebp, dword [esp + 0x18]
push edi
call fcn.0058b205
add esp, 4
test ebp, ebp
je 0x4e3ecb
mov ecx, ebp
call fcn.004de140
push ebp
call fcn.00588796
add esp, 4
lea edi, [esp + 0xdd0]
mov ebp, 3
cmp byte [edi], 0
je 0x4e3eea
mov ecx, dword [0xa1e7e0]
push 0
push edi
call fcn.00535580
add edi, 0x100
sub ebp, ebx
jne 0x4e3ed7
lea ebp, [esp + 0x4c]
lea edi, [esp + 0x8d0]
mov ebx, 3
cmp byte [edi], 0
mov dword [ebp], 0
je 0x4e3f1f
mov ecx, dword [0xa1e7e0]
push 0
push edi
push ebp
call fcn.00536720
add edi, 0x100
add ebp, 4
sub ebx, 1
jne 0x4e3f04
xor ebp, ebp
nop
xor edi, edi
cmp dword [esi + 0x14], edi
jle 0x4e3f86
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esi + 0x18]
lea ecx, [ebx + eax]
mov eax, dword [ecx]
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x4e3f57.6
movzx edx, byte [eax + 0x4e4238]
jmp dword [edx*4 + 0x4e4228]
test ebp, ebp
jmp 0x4e3f71
test ebp, ebp
jne 0x4e3f7b
push ebp
jmp 0x4e3f75
cmp ebp, 1
jmp 0x4e3f71
cmp ebp, 2
jne 0x4e3f7b
push 1
push edi
call fcn.004e1be0
add edi, 1
add ebx, 0x78
cmp edi, dword [esi + 0x14]
jl 0x4e3f40
add ebp, 1
cmp ebp, 3
jl 0x4e3f30
lea edi, [esp + 0xdd0]
mov ebx, 3
lea ebx, [ebx]
cmp byte [edi], 0
je 0x4e3fb3
mov ecx, dword [0xa1e7e0]
push 0
push edi
call fcn.00534ab0
mov byte [edi], 0
add edi, 0x100
sub ebx, 1
jne 0x4e3fa0
xor edi, edi
lea ebp, [esp + 0x8d0]
lea ebx, [ebx]
mov eax, dword [esp + edi*4 + 0x4c]
test eax, eax
je 0x4e3fe6
mov ecx, dword [0xa1e864]
push 0
push eax
call fcn.00536810
mov dword [esp + edi*4 + 0x4c], 0
mov byte [ebp], 0
add edi, 1
add ebp, 0x100
cmp edi, 3
jl 0x4e3fd0
mov ecx, esi
call fcn.004e0d20
xor edi, edi
xor edx, edx
cmp dword [esi + 0x14], edi
pop ebp
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
pop ebx
jle 0x4e4061
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
cmp ecx, 0xe
jne 0x4e4030
mov dword [esi + 0x1c], eax
jmp 0x4e4056
cmp ecx, 2
jne 0x4e403a
mov dword [esi + 0x20], eax
jmp 0x4e4056
cmp ecx, 4
jne 0x4e4044
mov dword [esi + 0x24], eax
jmp 0x4e4056
cmp ecx, 5
jne 0x4e404e
mov dword [esi + 0x28], eax
jmp 0x4e4056
cmp ecx, 0xf
jne 0x4e4056
mov dword [esi + 0x2c], eax
add edx, 1
add eax, 0x78
cmp edx, dword [esi + 0x14]
jl 0x4e4024
push 2
mov ecx, 0x8fc238
call fcn.0044f710
cmp byte [0x91de40], 0
je 0x4e4086
mov eax, dword [0xa1e864]
push eax
mov ecx, 0x679520
call fcn.00415a70
push edi
push 1
mov ecx, 0x679160
call fcn.004064e0
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x3c]
push edx
push edi
mov ecx, 0x679160
call fcn.00401ea0
fld dword [esp + 0x38]
fstp qword [esp + 0x50]
lea eax, [esp + 0x50]
fld dword [esp + 0x3c]
push eax
fstp qword [esp + 0x5c]
mov ecx, 0x8fc238
fld dword [esp + 0x44]
mov dword [esp + 0x84], edi
fstp qword [esp + 0x64]
fld qword [0x5bc5a8]
fstp qword [esp + 0x6c]
fld qword [0x5ad748]
fstp qword [esp + 0x74]
call fcn.0044c720
cmp eax, edi
je 0x4e410f
mov eax, dword [eax + 0x54]
mov dword [esi + 0x30], eax
fld dword [eax + 0xc]
fmul dword [0x64e448]
fsubr dword [eax + 8]
fstp dword [esi + 0x34]
fld dword [eax + 8]
fsub dword [eax + 0xc]
fstp dword [esi + 0x38]
fld1
push edi
push str.AIDryGrip
fst dword [esi + 0x3c]
push 0x20
fst dword [esi + 0x40]
lea ecx, [esp + 0x24]
fst dword [esi + 0x44]
push ecx
fstp dword [esi + 0x48]
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e4148
lea edx, [esp + 0x18]
push edx
call fcn.0058ad69
fstp dword [esi + 0x34]
add esp, 4
push edi
push str.AIWetGrip
push 0x20
lea eax, [esp + 0x24]
push eax
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e4173
lea ecx, [esp + 0x18]
push ecx
call fcn.0058ad69
fstp dword [esi + 0x38]
add esp, 4
push edi
push str.AITireWear
push 0x20
lea edx, [esp + 0x24]
push edx
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e419e
lea eax, [esp + 0x18]
push eax
call fcn.0058ad69
fstp dword [esi + 0x3c]
add esp, 4
push edi
push str.AIFuelMult
push 0x20
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e41c9
lea edx, [esp + 0x18]
push edx
call fcn.0058ad69
fstp dword [esi + 0x40]
add esp, 4
push edi
push str.PlayerTireWear
push 0x20
lea eax, [esp + 0x24]
push eax
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e41f4
lea ecx, [esp + 0x18]
push ecx
call fcn.0058ad69
fstp dword [esi + 0x44]
add esp, 4
push edi
push 0x608884
push 0x20
lea edx, [esp + 0x24]
push edx
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x4e421f
lea eax, [esp + 0x18]
push eax
call fcn.0058ad69
fstp dword [esi + 0x48]
add esp, 4
pop edi
pop esi
add esp, 0x10c0
ret