Function at 0x441590
Capabilities:
Packed with generic packer

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x64db10
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebx
push ebp
mov ebp, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x74]
mov eax, dword [esi + 8]
cmp eax, dword [0x6a500c]
push edi
jg 0x4415eb
mov eax, 0x7228ac
mov ecx, ebp
call fcn.00586cc0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push 0x258
push 0x320
neg ecx
push ecx
neg edx
push edx
mov eax, ebp
call fcn.00586d50
mov ecx, dword [0x6a500c]
mov eax, dword [esi + 8]
add ecx, 0xfffffc18
cmp eax, 0x3e8
jle 0x441736
cmp eax, ecx
jg 0x441736
lea edx, [ecx - 0x258]
cmp eax, edx
push 1
jge 0x44162c
push 0xff
push 0
mov ecx, 0x514
mov edx, 0x3e8
jmp 0x441639
push 0
push 0xff
add ecx, 0xfffffed4
call fcn.00511c40
add esp, 0xc
push eax
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x18]
call fcn.005643f0
push 0x10
xor edi, edi
push str._INTRO_PRESENTS_
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.00404330
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [0x6a7ad8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x28], edx
mov ecx, 0x136
sub ecx, dword [eax + 0x34]
mov esi, 0x190
sub esi, dword [eax + 0x30]
lea edx, [esp + 0x4c]
lea edi, [esp + 0x30]
mov dword [esp + 0x7c], ecx
call fcn.00519520
mov byte [esp + 0x70], 1
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
mov eax, edi
push eax
mov ecx, ebx
call edx
cdq
sub eax, edx
lea ecx, [ebp + 0x20]
push ecx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x84]
sar eax, 1
mov ecx, edi
push ecx
sub esi, eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x28]
push edx
push esi
push ebp
mov ecx, ebx
call eax
mov esi, 0x10
cmp dword [esp + 0x48], esi
jb 0x441717
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0061c19a
add esp, 4
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x64], esi
jb 0x441732
mov edx, dword [esp + 0x50]
push edx
call fcn.0061c19a
add esp, 4
mov esi, dword [esp + 0x78]
mov eax, dword [esi + 8]
mov ecx, dword [0x6a5008]
cmp eax, ecx
jle 0x4418ba
cmp eax, dword [0x6aa29c]
jg 0x4418ba
sub eax, ecx
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
mov eax, dword [0x6aa298]
sub eax, ecx
mov dword [esp + 0x78], eax
fidiv dword [esp + 0x78]
fstp dword [esp + 0x78]
fldz
fld dword [esp + 0x78]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x44178b
fstp st(0)
fld dword [0x679674]
jmp 0x4417bc
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x44179a
fstp st(1)
jmp 0x4417bc
fstp st(0)
fld st(0)
fxch st(1)
fadd st(0), st(0)
fld st(1)
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fmul qword [0x679a40]
fadd qword [0x6792f8]
mov edi, dword [esi + 4]
fstp dword [esp + 0x78]
fild dword [edi + 0x30]
fld qword [0x6793d8]
fld st(0)
fsubrp st(2)
fld dword [esp + 0x78]
fld st(0)
fmulp st(2)
fxch st(2)
fsubrp st(1)
call fcn.006397d0
fild dword [edi + 0x34]
mov dword [esp + 0x20], eax
fsubr qword [0x679768]
fld st(1)
fmul qword [0x679a38]
fsubp st(1)
call fcn.006397d0
fld qword [0x679738]
fmul st(1)
mov dword [esp + 0x24], eax
call fcn.006397d0
fmul qword [0x679890]
mov dword [esp + 0x28], eax
call fcn.006397d0
push 0x80
mov dword [esp + 0x30], eax
push 0
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x18]
call fcn.005643f0
mov ecx, ebp
call fcn.00586cc0
push ebp
lea eax, [esp + 0x24]
call fcn.00586dc0
fld dword [esp + 0x78]
mov ecx, dword [esi + 4]
mov eax, dword [0x6a7720]
sub esp, 0x10
fst dword [esp + 0xc]
fst dword [esp + 8]
fild dword [ecx + 0x34]
fsubr qword [0x679768]
fild dword [eax + 0x28]
jmp 0x7a8a90
mov eax, dword [esi + 8]
mov edx, dword [0x6aa2a0]
cmp eax, edx
jle 0x441919
mov ecx, dword [0x6aa2a4]
cmp eax, ecx
jg 0x441919
push 1
push 0xff
push 0
call fcn.00511c40
add esp, 0xc
push eax
push 0
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x38]
call fcn.005643f0
mov ecx, ebp
call fcn.00586cc0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push 0x258
push 0x320
neg ecx
push ecx
neg edx
push edx
mov eax, ebp
call fcn.00586d50
mov eax, dword [0x6aa2a4]
cmp dword [esi + 8], eax
jle 0x44194f
mov eax, 0x7228ac
mov ecx, ebp
call fcn.00586cc0
mov esi, dword [esi + 4]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push 0x258
push 0x320
neg ecx
push ecx
neg edx
push edx
mov eax, ebp
jmp 0x7c823c
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x64
ret 8