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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0x557b14]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [0x57b53c]
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 0x18], edi
je 0x453ed5
cmp dword [ecx + 0x68], 3
jne 0x453ed5
push 0x1a0
call fcn.004e0321
cmp eax, ebx
pop ecx
je 0x453d9c
push str.oasis
mov ecx, eax
call fcn.0044af59
jmp 0x453d9e
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push ebx
push 1
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
mov ecx, dword [0x57b4c4]
mov eax, dword [ecx]
push 0xfffffffffffffffd
push dword [0x57b53c]
call dword [eax + 0x14]
mov eax, dword [0x57b52c]
push ebx
push 1
call fcn.0049c5c3
push 0x84
call fcn.004e0321
cmp eax, ebx
pop ecx
je 0x453df9
fld1
push ecx
push ecx
fstp dword [esp + 4]
fldz
mov esi, eax
fstp dword [esp]
push str.fade
call fcn.004249ad
jmp 0x453dfb
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push ebx
push ebx
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
fld1
mov ecx, dword [0x57b528]
fst dword [ecx + 0x7c]
fldz
push ecx
fstp dword [ecx + 0x80]
fstp dword [esp]
call fcn.0044be75
mov esi, dword [0x57b528]
mov byte [esi + 0x18d], 1
call fcn.0044c4d6
mov eax, dword [0x57b4d0]
cmp eax, ebx
je 0x453e83
fldz
fcomp dword [eax + 0x44]
fnstsw ax
test ah, 5
jp 0x453e83
push 0xd8
call fcn.004e0321
cmp eax, ebx
pop ecx
je 0x453e6f
push str.outro
push eax
mov eax, dword [0x577b24]
call fcn.0044ff24
jmp 0x453e71
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push ebx
push ebx
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
jmp 0x453ec9
mov ebx, dword [0x57b528]
push 0
call fcn.0044bb85
mov ecx, dword [0x57b528]
call fcn.0044072f
call fcn.004434ea
test eax, eax
je 0x453ebe
call fcn.004434ea
cmp byte [eax + 0x17e], 0
jne 0x453ebe
mov eax, dword [0x57b528]
mov byte [eax + 0x18e], 1
mov esi, dword [0x57b528]
call fcn.0044baf6
mov ebx, edi
call fcn.0041a39b
jmp 0x454c30
fldz
fcom dword [edi + 0x5c]
fnstsw ax
test ah, 0x41
jp 0x453fbc
cmp ecx, ebx
je 0x453ef3
cmp dword [ecx + 0x68], 2
jne 0x453fbc
fld dword [edi + 0x5c]
fsub dword [ebp + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x5c]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x453fbe
mov eax, dword [edi + 0x60]
cmp eax, ebx
jne 0x453f28
mov eax, dword [0x577b24]
inc eax
push eax
push str.temp_dwelcome.ogg
jmp 0x453f7b
cmp eax, 1
jne 0x453f3b
mov eax, dword [0x577b24]
inc eax
push eax
push str.temp_dgoodbye.ogg
jmp 0x453f7b
cmp eax, 5
jne 0x453f4e
mov eax, dword [0x577b24]
inc eax
push eax
push str.temp_dconsole.ogg
jmp 0x453f7b
cmp eax, 2
jne 0x453f61
mov eax, dword [0x577b24]
inc eax
push eax
push str.temp_dpraise1.ogg
jmp 0x453f7b
cmp eax, 3
mov eax, dword [0x577b24]
jne 0x453f74
inc eax
push eax
push str.temp_dpraise2.ogg
jmp 0x453f7b
inc eax
push eax
push str.temp_dpraise3.ogg
lea eax, [esp + 0x34]
push eax
call fcn.004e116e
fld1
add esp, 0xc
sub esp, 0xc
fst dword [esp + 8]
lea eax, [esp + 0x38]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
fld dword [0x543950]
mov ecx, dword [0x57b53c]
fstp dword [edi + 0x5c]
jmp 0x453fbe
fstp st(0)
cmp ecx, ebx
fld dword [0x543a34]
fstp dword [esp + 0x10]
je 0x453fd9
fld dword [ecx + 0x54]
fmul qword [0x543938]
fstp dword [esp + 0x10]
fld dword [edi + 0x70]
fdiv qword [0x544540]
fld1
fsubrp st(1)
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [0x543be0]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
mov eax, dword [edi + 0x58]
jp 0x45403b
cmp eax, ebx
push ecx
jge 0x45402a
fld1
fstp dword [esp]
fldz
push 1
push ecx
push ecx
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
push dword [edi + 0x54]
call fcn.00426b50
mov dword [edi + 0x58], eax
jmp 0x45404b
fld dword [esp + 0x14]
mov ecx, dword [edi + 0x54]
fstp dword [esp]
call fcn.00426d74
jmp 0x45404b
cmp eax, ebx
jl 0x45404b
mov ecx, dword [edi + 0x54]
call fcn.00426cb7
or dword [edi + 0x58], 0xffffffff
lea esi, [edi + 0xb4]
fld dword [esi]
lea ecx, [edi + 0xb8]
fld dword [ecx]
mov dword [esp + 0x20], esi
fucompp
fnstsw ax
test ah, 0x44
jnp 0x45408b
fld dword [0x543b74]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [edi + 0xbc]
fld dword [ebp + 8]
mov edx, esi
fstp dword [esp]
call fcn.00456eeb
pop ecx
fstp dword [esi]
pop ecx
cmp byte [edi + 0x144], bl
je 0x4540d3
fld dword [ebp + 8]
fmul qword [0x543998]
fadd dword [edi + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x140]
fld1
fcom dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x45410c
cmp byte [edi + 0x145], bl
fstp dword [edi + 0x140]
je 0x45410e
mov byte [edi + 0x144], bl
jmp 0x45410e
fldz
fcom dword [edi + 0x140]
fnstsw ax
test ah, 5
jp 0x454110
fld dword [edi + 0x140]
fsub dword [ebp + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x140]
fcom dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x454110
fst dword [edi + 0x140]
jmp 0x454110
fstp st(0)
fldz
lea eax, [edi + 0x12c]
fld dword [eax]
fld dword [ebp + 8]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [eax]
fld dword [edi + 0x128]
fld dword [edi + 0x124]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4541f4
fld qword [0x543b50]
fmul st(1)
fadd dword [edi + 0x124]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x124]
fld dword [esp + 0x10]
fld dword [edi + 0x128]
fcompp
fnstsw ax
test ah, 0x41
jp 0x454181
fld dword [edi + 0x128]
fstp dword [edi + 0x124]
fxch st(1)
fst dword [edi + 0x128]
fxch st(1)
mov ecx, dword [edi + 0x78]
cmp dword [edi + 0x74], ecx
mov dword [esp + 0x24], ecx
je 0x454353
fmul qword [0x5439a0]
fadd dword [edi + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x7c]
fld1
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x4542e1
fild dword [esp + 0x24]
mov dword [edi + 0x74], ecx
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x70]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x44
jp 0x4542d7
mov eax, dword [edi]
push 0xfffffffffffffffd
mov esi, 0x57af00
push esi
push ebx
mov ecx, edi
call dword [eax + 0x24]
cmp eax, ebx
je 0x454253
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx]
jmp 0x454255
fld dword [edi + 0x128]
fld dword [edi + 0x124]
fcompp
fnstsw ax
test ah, 1
jne 0x454181
fld dword [edi + 0x124]
fld st(1)
fmul qword [0x543a38]
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edi + 0x124]
fld dword [esp + 0x10]
fld dword [edi + 0x128]
fcompp
fnstsw ax
test ah, 1
jne 0x454181
fld dword [edi + 0x128]
fstp dword [edi + 0x124]
jmp 0x454181
xor eax, eax
cmp eax, ebx
je 0x454263
mov edx, dword [edi]
push 0xfffffffffffffffd
push eax
mov ecx, edi
call dword [edx + 0x14]
mov eax, dword [0x57b558]
cmp eax, ebx
je 0x454275
mov ebx, eax
call fcn.0041a39b
xor ebx, ebx
mov eax, dword [0x57b55c]
cmp eax, ebx
je 0x454287
mov ebx, eax
call fcn.0041a39b
xor ebx, ebx
mov eax, dword [0x57b4e0]
cmp eax, ebx
je 0x454297
mov ebx, eax
call fcn.0041a39b
mov ebx, dword [0x57b560]
test ebx, ebx
je 0x4542a6
call fcn.0041a39b
mov ebx, dword [0x57b564]
test ebx, ebx
je 0x4542b5
call fcn.0041a39b
mov esi, dword [0x57b550]
test esi, esi
je 0x4542c4
call fcn.0046f270
lea esi, [edi + 0x147]
cmp byte [esi], 0
je 0x4542d7
call fcn.004538f0
mov byte [esi], 0
fld1
fst dword [edi + 0x134]
jmp 0x454338
mov esi, dword [edi + 0x74]
fstp st(0)
fld dword [esp + 0x10]
push ecx
fstp dword [esp]
mov dword [esp + 0x30], esi
call fcn.0040ff28
mov eax, dword [edi + 0x78]
sub eax, esi
mov dword [esp + 0x28], eax
fimul dword [esp + 0x28]
pop ecx
fiadd dword [esp + 0x2c]
call fcn.005209b0
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
push ecx
fstp dword [edi + 0x70]
fld dword [edi + 0x7c]
fstp dword [esp]
call fcn.0040ff28
fld dword [edi + 0x134]
pop ecx
fld1
fsubrp st(1)
fmulp st(1)
fadd dword [edi + 0x134]
fstp dword [edi + 0x130]
fld dword [edi + 0x70]
fdiv qword [0x544540]
fld1
fsubrp st(1)
fstp dword [0x568610]
jmp 0x454357
fstp st(1)
fstp st(0)
lea ebx, [edi + 0xc8]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov eax, dword [ebx + 4]
lea edi, [esp + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0041d163
test al, al
je 0x4543a8
lea edi, [esp + 0x10]
call fcn.0041d180
mov esi, edi
call fcn.00419ec0
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0xc]
test eax, eax
jne 0x45436e
mov ebx, dword [esp + 0x18]
lea eax, [ebx + 0xf0]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xf4]
lea edi, [esp + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0041d163
test al, al
je 0x454400
lea edi, [esp + 0x18]
call fcn.0041d180
mov esi, edi
call fcn.00419ec0
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0xc]
test eax, eax
jne 0x4543c3
lea eax, [ebx + 0xdc]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xe0]
lea edi, [esp + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0041d163
test al, al
je 0x454454
lea edi, [esp + 0x18]
call fcn.0041d180
mov esi, edi
call fcn.00419ec0
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0xc]
test eax, eax
jne 0x454417
fld dword [0x544548]
fcomp dword [ebx + 0x70]
fnstsw ax
test ah, 0x41
jne 0x4544b8
lea eax, [ebx + 0x104]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x108]
lea edi, [esp + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x28], eax
call fcn.0041d163
test al, al
je 0x4544b8
lea edi, [esp + 0x18]
call fcn.0041d180
mov esi, edi
call fcn.00419ec0
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0xc]
test eax, eax
jne 0x45447b
mov eax, dword [0x57b4d0]
test eax, eax
je 0x4544d5
fld dword [0x544418]
fcomp dword [eax + 0x44]
fnstsw ax
test ah, 0x41
jnp 0x454c30
mov edi, dword [0x57b554]
test edi, edi
je 0x4544ec
call fcn.00472d41
test al, al
jne 0x454c30
fld1
fst dword [ebx + 0x88]
fld dword [0x5440f8]
fstp dword [ebx + 0x8c]
fcomp dword [ebx + 0x90]
fnstsw ax
test ah, 0x41
jne 0x454543
fld dword [ebx + 0x90]
push ecx
fadd qword [0x5439b0]
fmul qword [0x543938]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
call fcn.0040ff28
fmul qword [0x544358]
pop ecx
fsub qword [0x543a38]
fstp dword [ebx + 0x8c]
fldz
fcom dword [ebx + 0x90]
fnstsw ax
test ah, 0x41
jne 0x454569
fld dword [ebx + 0x90]
fadd dword [ebp + 8]
fstp dword [ebx + 0x90]
fst dword [ebx + 0x84]
jmp 0x4545bb
fld1
fcomp dword [ebx + 0x90]
fnstsw ax
test ah, 0x41
jne 0x4545af
fstp st(0)
push ecx
fld dword [ebx + 0x90]
fadd dword [ebp + 8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [ebx + 0x90]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.0040ff28
fmul qword [0x545300]
pop ecx
fstp dword [ebx + 0x84]
fldz
jmp 0x4545bb
fld dword [0x5449d4]
fstp dword [ebx + 0x84]
fld dword [0x5452fc]
fstp dword [ebx + 0x9c]
fld dword [0x5452f8]
fst dword [ebx + 0xa0]
fstp dword [ebx + 0xa4]
fcom dword [ebx + 0xa8]
fnstsw ax
test ah, 0x41
jne 0x4545f7
fld dword [ebp + 8]
fadd dword [ebx + 0xa8]
fstp dword [ebx + 0xa8]
jmp 0x454659
fstp st(0)
fld1
fcomp dword [ebx + 0xa8]
fnstsw ax
test ah, 0x41
jne 0x454653
fld dword [ebp + 8]
push ecx
fmul qword [0x5439a0]
fadd dword [ebx + 0xa8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [ebx + 0xa8]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.0040ff28
fmul qword [0x544198]
pop ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [ebx + 0x98]
fld dword [esp + 0x18]
fstp dword [ebx + 0x94]
jmp 0x454665
fld dword [0x5444f4]
fst dword [ebx + 0x94]
fstp dword [ebx + 0x98]
call fcn.004014e2
mov esi, 0x84
add eax, esi
test byte [eax + 1], 4
jbe 0x45468e
cmp byte [eax + 0x108], 0
jne 0x45468e
mov byte [0x57b548], 0
mov byte [0x57b549], 0
call fcn.004014e2
add eax, esi
test byte [eax + 0x1b], 2
jbe 0x4546a4
cmp byte [eax + 0x108], 0
je 0x4546c2
call fcn.004014e2
add eax, esi
test byte [eax + 0x20], 2
jbe 0x454744
cmp byte [eax + 0x108], 0
jne 0x454744
fld dword [ebx + 0x70]
fild dword [ebx + 0x78]
fucompp
fnstsw ax
test ah, 0x44
jp 0x454744
mov eax, dword [0x57b53c]
cmp dword [eax + 0x68], 2
jne 0x454744
mov eax, dword [0x57b4d0]
test eax, eax
je 0x4546f1
fldz
fcomp dword [eax + 0x44]
fnstsw ax
test ah, 0x44
jp 0x454744
fldz
fcomp dword [ebx + 0x70]
fnstsw ax
test ah, 0x44
jp 0x454706
mov edi, ebx
call fcn.00454c47
jmp 0x454744
mov eax, dword [esp + 0x20]
fld dword [0x543be0]
fcomp dword [eax]
fnstsw ax
test ah, 0x41
jne 0x454744
push 0xbc
call fcn.004e0321
test eax, eax
pop ecx
je 0x454730
push eax
call fcn.00431c11
jmp 0x454732
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
push 1
mov eax, ebx
call fcn.00454ce4
fsubr qword [0x544ae8]
push 1
fstp dword [esp + 0x30]
fld dword [0x544548]
fstp dword [esp + 0x34]
call fcn.00454ce4
fsubr qword [0x5452f0]
lea eax, [esp + 0x2c]
push eax
fstp dword [esp + 0x38]
fld dword [0x5452e8]
fstp dword [esp + 0x3c]
call fcn.0042dc0f
test al, al
je 0x45488a
fld dword [0x543a34]
fcomp dword [ebx + 0xac]
fnstsw ax
test ah, 0x41
jne 0x4547cf
cmp byte [0x57b54a], 0
jne 0x4547cf
fld1
push ecx
fst dword [esp]
fldz
push 0
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x118]
call fcn.00426b50
mov byte [0x57b54a], 1
fld dword [ebp + 8]
fmul qword [0x543910]
fadd dword [ebx + 0xac]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [ebx + 0xac]
fld1
fcom dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x454801
fstp dword [ebx + 0xac]
jmp 0x454803
fstp st(0)
fld dword [ebx + 0x70]
fild dword [ebx + 0x78]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4548c7
mov eax, dword [0x57b53c]
cmp dword [eax + 0x68], 2
jne 0x4548c7
call fcn.004014e2
add eax, esi
test byte [eax + 1], 1
jbe 0x45486b
cmp byte [eax + 0x108], 0
jne 0x45486b
cmp byte [0x57b548], 0
jne 0x454862
fld1
push ecx
fst dword [esp]
fldz
push 0
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x11c]
call fcn.00426b50
mov byte [0x57b548], 1
jmp 0x4548c7
call fcn.004014e2
add eax, esi
test byte [eax + 1], 4
jbe 0x4548c7
cmp byte [eax + 0x108], 0
jne 0x4548c7
mov edi, ebx
call fcn.00454c47
jmp 0x4548c7
mov byte [0x57b54a], 0
fld dword [ebx + 0xac]
fld dword [ebp + 8]
fmul qword [0x543920]
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [ebx + 0xac]
fldz
fcom dword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4548c5
fstp dword [ebx + 0xac]
jmp 0x4548c7
fstp st(0)
push 1
mov eax, ebx
call fcn.00454ce4
fsubr qword [0x5452e0]
push 1
fstp dword [esp + 0x30]
fld dword [0x544548]
fstp dword [esp + 0x34]
call fcn.00454ce4
fsubr qword [0x544d68]
lea eax, [esp + 0x2c]
push eax
fstp dword [esp + 0x38]
fld dword [0x5452e8]
fstp dword [esp + 0x3c]
call fcn.0042dc0f
test al, al
je 0x454a6d
mov eax, dword [esp + 0x20]
fld dword [0x543be0]
fcomp dword [eax]
fnstsw ax
test ah, 0x41
jne 0x454a6d
fld dword [0x543a34]
fcomp dword [ebx + 0xb0]
fnstsw ax
test ah, 0x41
jne 0x454969
cmp byte [0x57b54b], 0
jne 0x454969
fld1
push ecx
fst dword [esp]
fldz
push 0
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x118]
call fcn.00426b50
mov byte [0x57b54b], 1
fld dword [ebp + 8]
fmul qword [0x543910]
fadd dword [ebx + 0xb0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [ebx + 0xb0]
fld1
fcom dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x45499b
fstp dword [ebx + 0xb0]
jmp 0x45499d
fstp st(0)
fld dword [ebx + 0x70]
fild dword [ebx + 0x78]
fucompp
fnstsw ax
test ah, 0x44
jp 0x454aaa
call fcn.004014e2
add eax, esi
test byte [eax + 1], 1
jbe 0x4549f9
cmp byte [eax + 0x108], 0
jne 0x4549f9
cmp byte [0x57b549], 0
jne 0x4549ed
fld1
push ecx
fst dword [esp]
fldz
push 0
push ecx
push ecx
fstp dword [esp + 4]
fstp dword [esp]
push dword [ebx + 0x11c]
call fcn.00426b50
mov byte [0x57b549], 1
jmp 0x454aaa
call fcn.004014e2
add eax, esi
test byte [eax + 1], 4
jbe 0x454aaa
cmp byte [eax + 0x108], 0
jne 0x454aaa
mov eax, dword [0x57b53c]
cmp dword [eax + 0x68], 2
jne 0x454aaa
fldz
fcomp dword [ebx + 0x70]
fnstsw ax
test ah, 0x44
jp 0x454a3b
mov edi, ebx
call fcn.004538f0
jmp 0x454a66
push 0xbc
call fcn.004e0321
test eax, eax
pop ecx
je 0x454a52
push eax
call fcn.00431c11
jmp 0x454a54
xor eax, eax
mov ecx, dword [0x57b4c4]
mov edx, dword [ecx]
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [edx + 0x10]
fldz
fstp dword [ebx + 0x7c]
jmp 0x454aaa
fld dword [ebx + 0xb0]
fld dword [ebp + 8]
fmul qword [0x543920]
fsubp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [ebx + 0xb0]
fldz
fcom dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jne 0x454aa1
fstp dword [ebx + 0xb0]
jmp 0x454aa3
fstp st(0)
mov byte [0x57b54b], 0
fld dword [ebx + 0xac]
push ecx
fstp dword [esp]
call fcn.0040ff28
fstp dword [esp + 0x24]
fld dword [ebx + 0xb0]
fstp dword [esp]
call fcn.0040ff28
fstp dword [esp + 0x1c]
pop ecx
fld dword [esp + 0x20]
fld qword [0x543998]
fmul st(1), st(0)
fld dword [ebx + 0x94]
fadd st(2)
fstp dword [ebx + 0x94]
fmul dword [esp + 0x18]
fld dword [ebx + 0x98]
fadd st(1)
fstp dword [ebx + 0x98]
cmp byte [0x57b548], 0
fld qword [0x543958]
jne 0x454b17
fld dword [ebx + 0xa0]
fsubrp st(3)
fxch st(2)
jmp 0x454b27
fstp st(2)
fld dword [ebx + 0xa0]
fld dword [esp + 0x20]
fmul st(3)
fsubp st(1)
fstp dword [ebx + 0xa0]
cmp byte [0x57b549], 0
jne 0x454b3e
fsubr dword [ebx + 0xa4]
jmp 0x454b4e
fstp st(0)
fld dword [ebx + 0xa4]
fld dword [esp + 0x18]
fmul st(2)
fsubp st(1)
fstp dword [ebx + 0xa4]
push ecx
fld dword [ebx + 0x7c]
push ecx
fmul qword [0x543970]
fmulp st(1)
fstp qword [esp]
call fcn.004e08f0
cmp byte [0x577b14], 0
fmul qword [0x544648]
pop ecx
pop ecx
fadd qword [0x5452d8]
fmul dword [ebx + 0x98]
fstp dword [ebx + 0x98]
je 0x454c30
call fcn.004014e2
add eax, esi
test byte [eax + 0x21], 2
jbe 0x454bcf
cmp byte [eax + 0x108], 0
jne 0x454bcf
call fcn.004434ea
test eax, eax
je 0x454bcf
call fcn.004434ea
mov ecx, dword [0x577b24]
call fcn.00443464
cmp eax, 3
je 0x454bcf
xor eax, eax
push eax
push eax
push eax
push ebx
call fcn.0045368c
call fcn.004014e2
add eax, esi
test byte [eax + 0x22], 2
jbe 0x454c30
cmp byte [eax + 0x108], 0
jne 0x454c30
call fcn.004434ea
test eax, eax
je 0x454c30
call fcn.004434ea
mov ecx, dword [0x577b24]
cmp dword [eax + ecx*4 + 0x30], 1
jbe 0x454c30
call fcn.004434ea
mov ecx, dword [0x577b24]
lea eax, [eax + ecx*4 + 0x30]
dec dword [eax]
call fcn.004434ea
mov ecx, dword [0x577b24]
imul ecx, ecx, 0x1c
lea ecx, [eax + ecx + 0xac]
push 0x537c7e
call fcn.00401538
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
xor eax, eax
pop ebx
xor ecx, esp
inc eax
call fcn.004e0010
mov esp, ebp
pop ebp
ret 4