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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51ed5b
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push esi
push edi
mov eax, dword [0x5750c8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x24], ebx
cmp byte [0x5b3072], 0
fldz
jne 0x4a7fbf
fld dword [ebx + 0x80]
fstp dword [ebp - 0x14]
fld dword [ebx + 0x80]
fadd dword [ebp + 8]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fst dword [ebx + 0x80]
fxch st(1)
fcom dword [ebp - 0x14]
fnstsw ax
test ah, 0x41
jne 0x4a7fbd
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x4a7fbf
xor esi, esi
fstp st(0)
push esi
mov edi, ebx
call fcn.004a66c0
fldz
jmp 0x4a7fc1
fstp st(1)
xor esi, esi
mov ecx, dword [ebx + 0x7c]
fcomp dword [ecx + 0xbc]
fnstsw ax
test ah, 5
jp 0x4a7fd9
fld1
fstp dword [ecx + 0xbc]
fld dword [0x554ca8]
fcomp dword [ebx + 0x80]
fnstsw ax
test ah, 0x41
jne 0x4a8029
test byte [0x5fd298], 1
jne 0x4a8018
or dword [0x5fd298], 1
mov dword [ebp - 4], esi
call fcn.004f4090
push 0x529300
call fcn.0045f177
add esp, 4
mov dword [ebp - 4], 0xffffffff
fld dword [0x57680c]
fstp dword [0x5fd004]
call fcn.004ac1e0
fld dword [0x555970]
fcomp dword [ebx + 0x80]
fnstsw ax
test ah, 0x41
jne 0x4a80d5
test byte [0x5c219c], 1
jne 0x4a8070
mov eax, 1
or dword [0x5c219c], eax
mov dword [ebp - 4], eax
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x5c0b00]
mov ecx, dword [eax + 0xc]
mov edi, dword [ecx]
cmp edi, ecx
je 0x4a80d5
mov eax, dword [edi + 8]
cmp eax, esi
je 0x4a80d5
mov esi, 2
lea ebx, [ebx]
test byte [0x5c219c], 1
mov byte [eax + 0x78], 1
jne 0x4a80c0
or dword [0x5c219c], 1
mov dword [ebp - 4], esi
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edi, dword [edi]
mov eax, dword [0x5c0b00]
cmp edi, dword [eax + 0xc]
je 0x4a80d3
mov eax, dword [edi + 8]
test eax, eax
jne 0x4a8090
xor esi, esi
fld dword [0x554be4]
fcom dword [ebx + 0x80]
fnstsw ax
test ah, 0x41
jp 0x4a84c4
fcomp dword [ebx + 0x84]
fnstsw ax
test ah, 0x41
jne 0x4a82c4
mov ecx, dword [0x5b30bc]
mov dword [ecx + 0x130], 3
call fcn.004a7cd0
mov edx, dword [0x5b2acc]
mov eax, dword [edx + 4]
cmp eax, esi
je 0x4a812a
nop
mov dword [eax + 0x1c], esi
mov eax, dword [eax + 0x28]
cmp eax, esi
jne 0x4a8120
mov eax, dword [ebx + 0x8c]
cmp eax, esi
je 0x4a8137
mov dword [eax + 0x7c], esi
mov eax, dword [ebx + 0x7c]
fld dword [eax + 0x14]
fstp qword [ebp - 0x20]
call fcn.0048fdd0
fchs
fmul qword [0x555968]
fcomp qword [ebp - 0x20]
fnstsw ax
test ah, 1
jne 0x4a8166
call fcn.0048fdd0
fchs
fmul qword [0x555968]
jmp 0x4a8197
mov ecx, dword [ebx + 0x7c]
fld dword [ecx + 0x14]
fstp qword [ebp - 0x20]
call fcn.0048fdd0
fmul qword [str.333333]
fcomp qword [ebp - 0x20]
fnstsw ax
test ah, 0x41
jp 0x4a8191
call fcn.0048fdd0
fmul qword [str.333333]
jmp 0x4a8197
mov edx, dword [ebx + 0x7c]
fld dword [edx + 0x14]
mov eax, dword [ebx + 0x7c]
fstp qword [ebp - 0x20]
fld dword [eax + 0x10]
fstp qword [ebp - 0x18]
call fcn.0048fe70
fchs
fmul qword [str.333333]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 1
jne 0x4a81c9
call fcn.0048fe70
fchs
fmul qword [str.333333]
jmp 0x4a81fa
mov ecx, dword [ebx + 0x7c]
fld dword [ecx + 0x10]
fstp qword [ebp - 0x18]
call fcn.0048fe70
fmul qword [str.333333]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
jp 0x4a81f4
call fcn.0048fe70
fmul qword [str.333333]
jmp 0x4a81fa
mov edx, dword [ebx + 0x7c]
fld dword [edx + 0x10]
fstp dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
fld qword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0x7c]
fstp dword [ebp - 0x2c]
fldz
mov ecx, dword [ebp - 0x2c]
mov dword [ebx + 0xbc], ecx
fstp dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov dword [ebx + 0xc0], edx
movzx ecx, byte [eax + 0x3c]
mov edx, dword [0x5b2adc]
imul ecx, ecx, 0x338
mov edi, dword [ecx + edx + 0x250]
call fcn.004fa0d0
mov ecx, eax
call fcn.004f8180
test al, al
je 0x4a82c4
push edi
call fcn.004fa0d0
mov edx, eax
call fcn.004f8290
cmp eax, esi
je 0x4a82c4
mov ecx, dword [ebx + 0x7c]
mov dx, word [ecx + 0xc0]
neg dx
movzx ecx, dx
shr ecx, 4
fld dword [ecx*4 + 0x547b98]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fchs
fstp dword [eax + 0x34]
mov edx, dword [ebx + 0x7c]
movzx ecx, word [edx + 0xc0]
neg cx
shr ecx, 4
add ecx, 0x400
and ecx, 0xfff
fld dword [ecx*4 + 0x547b98]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fstp dword [eax + 0x30]
mov ecx, dword [ebx + 0x7c]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0xc], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x10], ecx
fld dword [0x554ca8]
fcom dword [ebx + 0x84]
fnstsw ax
test ah, 0x41
jne 0x4a8346
mov eax, dword [ebx + 0x7c]
fcomp dword [ebx + 0x80]
mov edx, dword [eax + 0x10]
mov dword [ebx + 0xac], edx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0xb0], ecx
mov edx, dword [eax + 0x18]
fnstsw ax
mov dword [ebx + 0xb4], edx
test ah, 0x41
jp 0x4a8348
mov eax, dword [ebx + 0x88]
push 1
push esi
push esi
push eax
call fcn.00492940
fld dword [0x554bb0]
push ecx
fstp dword [esp + 0x10]
mov eax, esp
fld1
mov dword [ebp - 0x1c], esp
fstp dword [esp + 0xc]
fld dword [ebx + 8]
fstp dword [eax]
fld dword [ebx + 0xc]
fstp dword [eax + 4]
fld dword [ebx + 0x10]
fstp dword [eax + 8]
mov esi, dword [0x5b30bc]
call fcn.005065e0
jmp 0x4a8348
fstp st(0)
fld dword [0x554ca8]
fcomp dword [ebx + 0x80]
fnstsw ax
fld1
test ah, 0x41
jp 0x4a8414
fstp st(0)
push ecx
fld dword [ebp + 8]
mov edi, ebx
fstp dword [esp]
call fcn.004a6bd0
fld dword [ebx + 0x84]
fld qword [0x555770]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4a83d7
fld dword [ebx + 0x80]
fcompp
fnstsw ax
test ah, 1
jne 0x4a83d9
push ebx
call fcn.004a6110
fld dword [0x554bb0]
sub esp, 0x14
fstp dword [esp + 0x10]
mov eax, esp
fld dword [0x5554f0]
mov dword [ebp - 0x1c], esp
fstp dword [esp + 0xc]
fld dword [ebx + 8]
fstp dword [eax]
fld dword [ebx + 0xc]
fstp dword [eax + 4]
fld dword [ebx + 0x10]
fstp dword [eax + 8]
mov esi, dword [0x5b30bc]
call fcn.005065e0
jmp 0x4a83d9
fstp st(0)
fld dword [ebp + 8]
fmul qword [0x554cb0]
fstp dword [ebp - 0x1c]
fld qword [0x554cc0]
fld dword [ebp - 0x1c]
call sub.MSVCR100.dll__CIpow
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
mov eax, dword [0x5b30b0]
fstp dword [ebp - 0x10]
fld dword [eax + 0x28]
fld1
fsub st(1), st(0)
fld dword [ebp - 0x10]
fmulp st(2)
fadd st(1), st(0)
fxch st(1)
fstp dword [eax + 0x28]
fld dword [0x55574c]
fcom dword [ebx + 0x84]
fnstsw ax
test ah, 0x41
jne 0x4a845d
fcomp dword [ebx + 0x80]
fnstsw ax
test ah, 0x41
jp 0x4a845f
fstp st(0)
call fcn.004f4340
fld1
fstp dword [eax + 0x7c]
call fcn.004f4340
mov byte [eax], 0
call fcn.004f4340
xor ebx, ebx
mov edi, eax
call fcn.004f55f0
fld1
mov ebx, dword [ebp - 0x24]
jmp 0x4a845f
fstp st(0)
fld dword [0x555958]
fcomp dword [ebx + 0x80]
fnstsw ax
test ah, 5
jp 0x4a8725
fstp st(0)
call fcn.004fa0d0
test byte [0x5fd298], 1
fldz
fstp dword [eax]
jne 0x4a84aa
or dword [0x5fd298], 1
mov dword [ebp - 4], 3
call fcn.004f4090
push 0x529300
call fcn.0045f177
add esp, 4
fld1
mov ecx, dword [0x5b30b0]
fst dword [0x5fd004]
fstp dword [ecx + 0x28]
mov byte [ebx + 0x33], 1
jmp 0x4a8723
fstp st(0)
fld dword [ebp + 8]
fmul qword [0x554cb0]
fstp dword [ebp - 0x24]
fld qword [0x554cc0]
fld dword [ebp - 0x24]
call sub.MSVCR100.dll__CIpow
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
mov eax, dword [0x5b30b0]
fstp dword [ebp - 0x10]
fld dword [eax + 0x28]
fldz
fsub st(1), st(0)
fld dword [ebp - 0x10]
fnstcw word [ebp - 0xe]
fmulp st(2)
faddp st(1)
fstp dword [eax + 0x28]
movzx eax, word [ebp - 0xe]
fld dword [ebx + 0x2c]
or eax, 0xc00
fchs
mov dword [ebp - 0x24], eax
fstp dword [ebp - 0x14]
fld dword [0x5768e0]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x14]
fmul qword [0x554c58]
fldcw word [ebp - 0x24]
fistp dword [ebp - 0x24]
mov dx, word [ebp - 0x24]
movzx eax, dx
shr eax, 4
lea ecx, [eax + 0x400]
fldcw word [ebp - 0xe]
and ecx, 0xfff
fld dword [ecx*4 + 0x547b98]
fstp dword [ebp - 0x24]
fld dword [eax*4 + 0x547b98]
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x24]
fstp dword [ebp - 0x38]
fldz
fstp dword [ebp - 0x34]
fld dword [0x5550b8]
fstp dword [ebp - 0x10]
call fcn.0048fdd0
fstp dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x48]
lea edx, [ebp - 0x3c]
call fcn.004037a0
mov edx, eax
lea ecx, [ebp - 0x10]
lea eax, [ebp - 0x54]
call fcn.004037a0
mov edx, eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x60]
call fcn.004037a0
mov edx, dword [ebx + 0x7c]
mov ecx, eax
add edx, 0x10
lea eax, [ebp - 0x30]
call fcn.00403dd0
fld1
fcomp dword [ebx + 0x94]
fnstsw ax
fld1
test ah, 0x41
jne 0x4a8634
fld dword [ebx + 0x94]
fadd st(0), st(0)
fldz
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4a8625
fstp st(1)
fstp st(1)
fld dword [0x554bb0]
sub esp, 8
fstp dword [esp + 4]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
fstp dword [esp]
call fcn.004f7890
add esp, 8
fstp dword [ebp - 0x24]
lea edx, [ebx + 0x98]
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x60]
call fcn.004037a0
fld dword [eax]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fld dword [eax + 4]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld dword [eax + 8]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
jmp 0x4a8636
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4a85d5
fstp st(0)
jmp 0x4a85d7
fstp st(0)
sub esp, 0x24
mov eax, esp
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x24], eax
mov byte [eax + 0x20], 1
mov dword [eax], esi
mov dword [ebp - 4], 4
mov dword [ebp - 0x48], vtable.Mortar::Delegate0_void_::Callee_class_SuperFruitControl_.0
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0x4a60e0
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call dword [0x55262c]
mov dword [ebp - 4], 0xffffffff
fld dword [ebp - 0x14]
sub esp, 0x14
fstp dword [esp + 0x10]
mov eax, esp
fld dword [0x5768e0]
mov dword [ebp - 0x24], esp
fstp dword [esp + 0xc]
fld dword [ebp - 0x30]
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
fld dword [ebp - 0x28]
fstp dword [eax + 8]
mov edx, dword [0x5b30bc]
push edx
call fcn.00412500
mov eax, dword [ebx + 0x7c]
fld dword [eax + 0x10]
fstp dword [ebp - 0x30]
fld dword [eax + 0x14]
mov eax, dword [ebp - 0x30]
fstp dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
fldz
mov dword [ebx + 8], eax
fstp dword [ebp - 0x28]
mov dword [ebx + 0xc], ecx
mov edx, dword [ebp - 0x28]
fld dword [0x5768e4]
fstp dword [ebp - 0x14]
mov dword [ebx + 0x10], edx
call fcn.0048fdd0
fstp dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x30]
lea edx, [ebp - 0x3c]
call fcn.004037a0
mov edx, eax
lea ecx, [ebp - 0x14]
lea eax, [ebp - 0x6c]
call fcn.004037a0
mov edx, eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x78]
call fcn.004037a0
fld dword [ebx + 8]
fadd dword [eax]
fstp dword [ebx + 8]
fld dword [eax + 4]
fadd dword [ebx + 0xc]
fstp dword [ebx + 0xc]
fld dword [eax + 8]
fadd dword [ebx + 0x10]
fstp dword [ebx + 0x10]
fld1
fld qword [0x554c38]
mov ecx, 0x18
fldz
fld dword [ebx + 0x80]
fcomp qword [0x555770]
fnstsw ax
test ah, 5
jp 0x4a877f
fld dword [ebx + 0x80]
fdiv st(2)
fsubr st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4a875e
fstp st(0)
fld st(0)
jmp 0x4a876b
fcom st(3)
fnstsw ax
test ah, 1
jne 0x4a876b
fstp st(0)
fld st(2)
mov eax, dword [0x5b30b0]
fmul dword [ecx + eax]
add ecx, 4
fstp dword [ecx + eax - 4]
cmp ecx, 0x24
jl 0x4a8732
fstp st(2)
fstp st(0)
fstp st(0)
fld1
fcom dword [ebx + 0x94]
fnstsw ax
test ah, 0x41
jne 0x4a87c0
fld dword [ebp + 8]
fmul qword [0x554dc8]
fadd dword [ebx + 0x94]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fst dword [ebx + 0x94]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x4a87c0
fstp dword [ebx + 0x94]
jmp 0x4a87c2
fstp st(0)
fld dword [ebx + 0x80]
fstp dword [ebx + 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4