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

Disassembly:
push 0xffffffffffffffff
push 0x671ea1
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8a0c44]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
push 1
xor ebp, ebp
xor ebx, ebx
call edx
test al, al
jne 0x4f598a
test byte [0x8a4208], 0x20
je 0x4f5f7b
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
push 2
mov ecx, esi
call edx
test al, al
je 0x4f5f7b
push ebp
push 0x890bd0
push 0x88fe28
push ebp
push esi
call fcn.006445b7
add esp, 0x14
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
cmp eax, ebp
jne 0x4f5abd
mov eax, dword [esi]
mov edx, dword [eax + 0xd0]
push 1
mov ecx, esi
call edx
test eax, eax
je 0x4f5a93
mov eax, dword [esi]
mov edx, dword [eax + 0x38]
mov ecx, esi
call edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [eax + 0xd0]
push 1
mov ecx, esi
call edx
mov ebp, eax
mov eax, dword [ebx]
mov edi, dword [ebp]
mov edx, dword [eax + 0x50]
push 1
mov ecx, ebx
add edi, 0x18
call edx
xor ecx, ecx
test al, al
setne cl
add ecx, 2
mov eax, ecx
mov ecx, dword [esp + 0x5c]
cdq
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x64]
push ecx
push edx
mov edx, dword [edi]
push eax
mov ecx, ebp
call edx
mov dword [esp + 0x60], eax
test eax, eax
je 0x4f5a61
mov eax, dword [esi]
mov edx, dword [eax + 0x38]
mov ecx, esi
call edx
mov edi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0xd0]
push 1
mov ecx, esi
call edx
mov ebx, dword [eax + 0x124]
mov eax, dword [edi]
mov edx, dword [eax + 0x50]
push 1
mov ecx, edi
call edx
xor ecx, ecx
test al, al
setne cl
add ecx, 2
mov dword [ebx + 0xa0], ecx
mov edx, dword [esi]
mov eax, dword [edx + 0xd0]
push 1
mov ecx, esi
call eax
mov ecx, dword [eax + 0x124]
mov edx, dword [esi]
mov eax, dword [edx + 0xd0]
mov dword [esp + 0x14], ecx
push 1
mov ecx, esi
call eax
mov ebp, dword [eax + 0x128]
mov ebx, dword [esp + 0x60]
jmp 0x4f5abd
mov ecx, dword [esi + 0x11c]
shr ecx, 0x14
test cl, 1
jne 0x4f5abd
mov ecx, esi
call fcn.0043e8b0
mov edx, dword [0x8a4190]
push eax
push str._clip__s_no_footage_definition_n
push edx
call fcn.00437100
add esp, 0xc
xor edi, edi
cmp dword [esi + 0x10], edi
jne 0x4f5f7b
push 0x250
call fcn.0063f278
add esp, 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], edi
cmp eax, edi
je 0x4f5aea
mov ecx, eax
call fcn.00468460
mov edi, eax
mov dword [esp + 0x4c], 0xffffffff
test edi, edi
je 0x4f5f7b
mov ecx, dword [esi + 0x178]
mov eax, dword [esi]
mov edx, dword [eax + 0x40]
push ecx
mov ecx, esi
call edx
fst qword [esp + 0x24]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4f5b29
fld qword [esi + 0x1e0]
fsub qword [esi + 0x1d8]
fstp qword [esp + 0x24]
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x58]
push edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edi
call fcn.0043c250
inc ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [edi]
mov ecx, esi
add ebx, 0x2c
call fcn.0043e8b0
mov edx, dword [ebx]
push eax
mov ecx, edi
call edx
push 1
push 3
push 0x1f5
lea ecx, [edi + 0x1c]
call fcn.00441520
mov eax, dword [esi]
mov edx, dword [eax + 0x38]
mov ecx, esi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x50]
push 1
call eax
mov ebx, dword [edi]
xor ecx, ecx
test al, al
setne cl
add ebx, 0x3c
inc ecx
mov dword [edi + 0x78], ecx
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
mov ecx, esi
call eax
call fcn.00640096
push edx
mov edx, dword [ebx]
push eax
mov ecx, edi
call edx
fld qword [esp + 0x24]
call fcn.00640096
mov ebx, dword [edi]
push edx
mov dword [esp + 0x30], eax
push eax
mov eax, dword [ebx + 0x4c]
mov ecx, edi
mov dword [esp + 0x38], edx
call eax
mov edx, dword [esi]
mov ebx, dword [edi]
mov eax, dword [edx + 0xa0]
mov ecx, esi
add ebx, 0x54
call eax
call fcn.00640096
push edx
mov edx, dword [ebx]
push eax
mov ecx, edi
call edx
lea ebx, [esi + 0x1b8]
mov ecx, ebx
call fcn.00431730
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4f5bf0
sub eax, ecx
je 0x4f5c3a
push 0xc
call fcn.0063f278
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], 1
test eax, eax
je 0x4f5c24
push ebx
push str.Lognote
mov ecx, eax
call fcn.0065fda0
jmp 0x4f5c26
xor eax, eax
push eax
lea ecx, [edi + 0x1a8]
mov dword [esp + 0x50], 0xffffffff
call fcn.0043c250
mov eax, dword [esi + 0x11c]
shr eax, 8
test al, 1
je 0x4f5c87
fld qword [esi + 0x158]
fabs
fdivr qword [esp + 0x24]
fadd qword [0x6eed50]
call fcn.00640060
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4f5c75
fstp st(1)
jmp 0x4f5c77
fstp st(0)
mov ebx, dword [edi]
call fcn.00640096
push edx
mov edx, dword [ebx + 0x4c]
push eax
mov ecx, edi
call edx
mov eax, dword [esi + 0x11c]
shr eax, 0xc
test al, 1
je 0x4f5c98
or dword [edi + 0x5c], 0x20
mov edx, dword [esi]
mov eax, dword [edx + 0xd0]
mov ebx, 1
push ebx
mov ecx, esi
call eax
test eax, eax
je 0x4f5cdf
mov edx, dword [esi]
mov eax, dword [edx + 0xd0]
push ebx
mov ecx, esi
call eax
mov eax, dword [eax + 0x148]
mov ecx, dword [esi + 0x1b4]
add ecx, eax
mov dword [edi + 0x84], ecx
mov edx, dword [esi + 0x1b4]
add edx, ebx
mov dword [edi + 0x80], edx
jmp 0x4f5ceb
mov dword [edi + 0x84], ebx
mov dword [edi + 0x80], ebx
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4f5d1c
lea eax, [ebx + 0x1c]
push eax
lea ecx, [edi + 0x88]
call fcn.00444950
mov ecx, dword [ebx + 0x5c]
inc dword [ebx + 0x11c]
shr ecx, 0x1b
test cl, 1
je 0x4f5d2a
or dword [edi + 0x5c], 0x80000000
jmp 0x4f5d2a
cmp dword [esp + 0x1c], 0
jne 0x4f5d2a
or dword [edi + 0x5c], 0x200
test ebp, ebp
je 0x4f5e3d
mov eax, dword [edi + 0x18]
fldz
mov dword [ebp + 0xc8], eax
fcom qword [esi + 0x1f8]
fnstsw ax
test ah, 5
jnp 0x4f5d69
fcomp qword [esi + 0x200]
fnstsw ax
test ah, 5
jnp 0x4f5d6b
mov edx, dword [ebp + 0x18]
or dword [ebp + 0x5c], 0x40
mov dword [edi + 0xe0], edx
jmp 0x4f5e3d
fstp st(0)
mov ecx, dword [esp + 0x58]
push ebp
push 0x4e18f0
call fcn.0043c7c0
push 0
push 0x88c728
push 0x88873c
push 0
push eax
call fcn.006445b7
add esp, 0x14
test eax, eax
jne 0x4f5e30
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov ecx, esi
call edx
fstp st(0)
push 0x160
call fcn.0063f278
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x4c], 2
test ebx, ebx
je 0x4f5df8
fld qword [esi + 0x170]
fadd qword [esi + 0x1f8]
call fcn.00640096
fld qword [esi + 0x1f8]
push edx
push eax
call fcn.00640096
push edx
push eax
push edi
push ebp
mov ecx, esi
call fcn.0043e8b0
push eax
mov ecx, ebx
call fcn.004658b0
mov ebx, eax
jmp 0x4f5dfa
xor ebx, ebx
mov edx, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x40], edx
mov edx, dword [ebx + 0x18]
push edx
push ecx
push eax
lea ecx, [ebx + 0x1c]
mov dword [esp + 0x58], 0xffffffff
call fcn.00441520
mov ecx, dword [esp + 0x58]
push ebx
call fcn.0043c250
jmp 0x4f5e3d
or dword [eax + 0x5c], 0x40
mov eax, dword [eax + 0x18]
mov dword [edi + 0xe0], eax
mov edx, dword [esi]
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
mov edx, dword [eax]
mov ebx, dword [edi]
mov edx, dword [edx + 0x6c]
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
add ebx, 0x34
call edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov edx, dword [ebx]
lea eax, [esp + 0x24]
push eax
mov ecx, edi
call edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
push eax
push 0x446d30
mov dword [edi + 0xcc], eax
call fcn.0043c7c0
mov dword [edi + 0xd4], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4f5e97
mov eax, dword [eax + 0x18]
jmp 0x4f5e9a
or eax, 0xffffffff
mov ecx, dword [esp + 0x5c]
mov dword [edi + 0xd8], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x64]
push ecx
mov ecx, edi
call edx
mov eax, dword [esi + 0x13c]
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 0
test eax, eax
je 0x4f5ecd
mov eax, dword [eax + 4]
jmp 0x4f5ecf
xor eax, eax
mov ebx, eax
test eax, eax
je 0x4f5f75
lea esp, [esp]
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebp, dword [ebx]
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [edi]
push edx
mov edx, dword [eax + 0x38]
mov ecx, edi
add ebp, 0x18
call edx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push eax
mov eax, dword [ebp]
push ecx
push edx
mov ecx, ebx
call eax
add dword [esp + 0x60], eax
mov eax, dword [esi + 0x148]
test eax, eax
je 0x4f5f6b
cmp eax, 0xffffffff
jne 0x4f5f51
mov eax, dword [esi + 0x13c]
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], 0
test eax, eax
je 0x4f5f4b
mov eax, dword [eax + 4]
mov ebx, eax
jmp 0x4f5f6d
xor eax, eax
mov ebx, eax
jmp 0x4f5f6d
mov eax, dword [eax + 8]
test eax, eax
je 0x4f5f6b
inc dword [esi + 0x14c]
mov ecx, eax
mov dword [esi + 0x148], eax
mov ebx, dword [ecx + 4]
jmp 0x4f5f6d
xor ebx, ebx
test ebx, ebx
jne 0x4f5ee0
mov eax, dword [esp + 0x60]
jmp 0x4f5f7d
mov eax, ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 0x1c