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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5833f0
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebp
push esi
push edi
mov esi, ecx
call fcn.0053b020
call fcn.00543e40
mov edx, dword [esi + 0x3c]
mov edi, eax
mov eax, dword [esi + 8]
inc edx
xor ebp, ebp
mov dword [esi + 0x3c], edx
test ah, 0x40
jne 0x472a36
or ah, 0x40
push ebp
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [0x5cd25c]
push ebp
push eax
push 0x3056434f
call fcn.00427c10
mov eax, dword [esi + 8]
push ebx
xor bl, bl
test eax, 0x80000
je 0x472b4a
push ebp
call fcn.0046ffe0
add esp, 4
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x18]
lea edx, [esi + 0xac]
push ecx
push edx
mov ecx, eax
call fcn.00462dc0
fst dword [esp + 0x1c]
fcomp dword [0x589284]
fnstsw ax
and eax, 0x100
jne 0x472ab8
fld dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push ebp
fstp dword [esi + 0xbc]
fld dword [esp + 0x18]
mov dword [esi + 0xc4], eax
mov eax, dword [esp + 0x20]
push 1
push eax
fstp dword [esi + 0xc0]
push eax
mov ecx, esi
call fcn.00471c30
mov eax, dword [esi + 8]
and eax, 0xffefffff
jmp 0x472ad4
mov dword [esi + 0xbc], 0xc3a00000
mov dword [esi + 0xc0], 0xc3600000
mov eax, dword [esi + 8]
or eax, 0x100000
mov dword [esi + 8], eax
mov edx, dword [esi + 0xd0]
fld dword [esi + 0xc0]
fld dword [esi + 0xd4]
fld dword [esi + 0x12c]
fadd dword [0x589288]
mov ecx, dword [esi + 0xbc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
fmul dword [esi + 0x134]
fmul st(1)
fmul dword [0x58930c]
fsubp st(2)
fstp st(0)
fld dword [esi + 0x128]
fadd dword [0x589288]
fmul dword [esi + 0x130]
fmul dword [esp + 0x1c]
fmul dword [0x58930c]
fsubr dword [esp + 0x18]
fstp dword [esi + 0xc8]
fstp dword [esi + 0xcc]
mov eax, dword [esi + 8]
or ah, 4
mov dword [esi + 8], eax
mov edx, dword [esi + 8]
test dh, 4
je 0x472dba
test edx, 0x40000
jne 0x472dba
mov ecx, dword [esi + 0xe4]
cmp ecx, ebp
je 0x472d2b
mov ebx, dword [esi + 0xe0]
mov eax, edi
sub eax, ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
cmp eax, ecx
fild qword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
fidiv dword [esp + 0x1c]
jb 0x472ba4
fstp st(0)
fld dword [0x589288]
mov dword [esi + 0xe4], ebp
shr edx, 8
and edx, 3
dec edx
fld st(0)
je 0x472bc3
dec edx
je 0x472bbf
dec edx
jne 0x472bcb
fadd st(1)
fsubr dword [0x58980c]
fmul st(1)
fmul st(1)
jmp 0x472bcb
fadd st(1)
fld st(1)
fmul st(2)
fsubp st(1)
fld st(0)
fsub dword [esi + 0xe8]
fld dword [0x589288]
fsub dword [esi + 0xe8]
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0xbc]
fdivp st(1)
mov dword [esp + 0x1c], ecx
mov edx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
fld st(2)
fsub dword [esi + 0xec]
fld dword [0x589288]
fsub dword [esi + 0xec]
fdivp st(1)
fld dword [esi + 0x88]
fld dword [esi + 0xc0]
fld dword [esi + 0x88]
fld dword [esp + 0x1c]
fsub dword [esp + 0x18]
fmul st(5)
fadd dword [esp + 0x14]
fstp dword [esi + 0x84]
fxch st(1)
fsub st(1)
fmul st(4)
fadd st(2)
fstp dword [esi + 0x88]
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0xd0]
fstp st(0)
fstp st(0)
fld dword [esi + 0x9c]
fld dword [esi + 0xd4]
fld dword [esi + 0x9c]
mov dword [esp + 0x1c], ecx
mov edx, eax
fld dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
fsub dword [esp + 0x18]
fmul st(4)
fadd dword [esp + 0x14]
fstp dword [esi + 0x98]
fxch st(1)
fsub st(1)
fmul st(3)
fadd st(2)
fstp dword [esi + 0x9c]
fstp st(0)
fstp st(0)
fld dword [esi + 0xa8]
fsub dword [esi + 0x70]
fmul st(1)
fadd dword [esi + 0x70]
fstp dword [esi + 0x70]
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x98]
fstp st(0)
fstp st(0)
fld dword [esi + 0x88]
fld dword [esi + 0x9c]
fld dword [esi + 0x12c]
fadd dword [0x589288]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
fmul dword [esi + 0x134]
fmul st(1)
fmul dword [0x58930c]
fsubp st(2)
fstp st(0)
fld dword [esi + 0x128]
fadd dword [0x589288]
fmul dword [esi + 0x130]
fmul dword [esp + 0x1c]
fmul dword [0x58930c]
fsubr dword [esp + 0x18]
fstp dword [esi + 0x90]
fstp dword [esi + 0x94]
fstp dword [esi + 0xe8]
fstp dword [esi + 0xec]
jmp 0x472db8
mov edx, dword [esi + 0xa8]
lea eax, [esi + 0xac]
push eax
lea ecx, [esi + 0x74]
mov dword [esi + 0x70], edx
call fcn.00499d60
mov ecx, dword [esi + 0xbc]
mov dword [esi + 0x84], ecx
mov edx, dword [esi + 0xc0]
mov dword [esi + 0x88], edx
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x8c], eax
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x90], ecx
mov edx, dword [esi + 0xcc]
mov dword [esi + 0x94], edx
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x9c], ecx
mov edx, dword [esi + 0xd8]
mov dword [esi + 0xa0], edx
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 8]
and ah, 0xfb
mov dword [esi + 8], eax
mov bl, 1
mov eax, dword [esi + 0x40]
mov edx, 0x800
cmp eax, ebp
je 0x472dcd
test dword [eax + 8], edx
je 0x472dcd
mov bl, 1
mov ecx, dword [esi + 8]
and ch, 0xf7
test bl, bl
mov dword [esi + 8], ecx
pop ebx
je 0x472f5a
cmp eax, ebp
je 0x472ebb
shr ecx, 0x13
not cl
test cl, 1
je 0x472ebb
fld dword [esi + 0x9c]
fld dword [eax + 0x11c]
fld dword [esi + 0x98]
fld dword [eax + 0x118]
fmul st(1)
fstp dword [esi + 0x118]
fstp st(0)
fmul st(1)
fstp dword [esi + 0x11c]
mov eax, dword [esi + 0x40]
fstp st(0)
fld dword [eax + 0x114]
fld dword [esi + 0x88]
fld dword [eax + 0x11c]
fld dword [eax + 0x110]
fld dword [esi + 0x84]
fld dword [eax + 0x118]
fmul st(1)
fadd st(2)
fstp dword [esi + 0x104]
fstp st(0)
fstp st(0)
fmul st(1)
fadd st(2)
fstp dword [esi + 0x108]
mov eax, dword [esi + 0x40]
fstp st(0)
fstp st(0)
fld dword [eax + 0xf0]
fmul dword [esi + 0x70]
fstp dword [esi + 0xf0]
fld dword [eax + 0x114]
fld dword [esi + 0x94]
fld dword [eax + 0x11c]
fld dword [eax + 0x110]
fld dword [esi + 0x90]
fld dword [eax + 0x118]
fmul st(1)
fadd st(2)
fstp dword [esi + 0x110]
fstp st(0)
fstp st(0)
fmul st(1)
fadd st(2)
fstp dword [esi + 0x114]
fstp st(0)
fstp st(0)
jmp 0x472f57
mov ecx, dword [esi + 0x70]
mov dword [esi + 0xf0], ecx
mov eax, dword [esi + 0x74]
mov dword [esi + 0xf4], eax
mov ecx, dword [esi + 0x78]
mov dword [esi + 0xf8], ecx
mov eax, dword [esi + 0x7c]
mov dword [esi + 0xfc], eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x100], ecx
mov eax, dword [esi + 0x84]
mov dword [esi + 0x104], eax
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x108], ecx
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x10c], eax
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x110], ecx
mov eax, dword [esi + 0x94]
mov dword [esi + 0x114], eax
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x118], ecx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x11c], eax
mov ecx, dword [esi + 0xa0]
mov dword [esi + 0x120], ecx
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x124], eax
or dword [esi + 8], edx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x20]
mov edx, dword [esi + 8]
and dh, 0xef
mov eax, edx
mov dword [esi + 8], edx
test eax, 0x20000
je 0x472f7b
or eax, 0x40000
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x28], ebp
cmp ecx, ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ecx
je 0x472f9c
lea eax, [esp + 0x24]
push eax
call fcn.004287d0
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
mov dword [esp + 0x38], ebp
je 0x473011
call fcn.004729e0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0045a940
mov edi, eax
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x38], 1
cmp ecx, ebp
je 0x472fd4
lea edx, [esp + 0x24]
push edx
call fcn.004287f0
mov dword [esp + 0x24], ebp
mov ecx, dword [edi]
cmp ecx, ebp
mov dword [esp + 0x24], ecx
je 0x472fec
lea eax, [esp + 0x24]
push eax
call fcn.004287d0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x38], 0
cmp eax, ebp
je 0x47300d
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call fcn.004287f0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ebp
cmp ecx, ebp
jne 0x472fa4
mov eax, dword [esi + 0x3c]
cmp eax, ebp
jle 0x47301e
dec eax
mov dword [esi + 0x3c], eax
jmp 0x47302f
push str.Aaaah___Removing_more_references_than_there_are_n
call fcn.00535ef0
mov ecx, dword [esp + 0x28]
add esp, 4
pop edi
cmp ecx, ebp
pop esi
mov dword [esp + 0x30], 0xffffffff
pop ebp
je 0x473048
lea edx, [esp + 0x18]
push edx
call fcn.004287f0
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret