Function at 0x477d60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xf8
mov eax, 0x4ca0ae
call fcn.004ad025
mov eax, dword [ebp + 8]
push 0x55eb3c
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x90], eax
call fcn.0044be60
xor esi, esi
push str.name
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], esi
call fcn.0044be60
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x48]
xor ebx, ebx
push eax
inc ebx
push edi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.0044e9e0
push esi
push ebx
lea ecx, [ebp - 0xb0]
call fcn.00448860
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
call fcn.00448860
push 0x55050a
lea ecx, [ebp - 0xcc]
call fcn.0044be60
push str.type
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 5
call fcn.0044be60
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x2c]
push eax
push edi
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 6
call fcn.0044e9e0
push esi
push ebx
lea ecx, [ebp - 0xe8]
call fcn.00448860
push esi
push ebx
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 9
call fcn.00448860
push str.xPeriod
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xa
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x6c]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.xAmplitude
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xb
fldz
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x78]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.yPeriod
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xc
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x70]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.yAmplitude
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xd
fldz
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x8c]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.minX
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xe
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x80]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.maxX
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0xf
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x84]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.minY
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0x10
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x88]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.maxY
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0x11
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x7c]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.rate
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0x12
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x94]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.angle
lea ecx, [ebp - 0x64]
call fcn.0044be60
mov byte [ebp - 4], 0x13
fldz
push ecx
fstp dword [esp]
lea eax, [ebp - 0x64]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x74]
push esi
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
call fcn.00448860
push str.phase
lea ecx, [ebp - 0x104]
call fcn.0044be60
mov byte [ebp - 4], 0x14
fld dword [0x566864]
push ecx
push ecx
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.0042ab00
pop ecx
lea eax, [ebp - 0x104]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [ebp - 0x68]
push esi
push ebx
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 9
call fcn.00448860
mov eax, str.wave
lea edx, [ebp - 0x2c]
call fcn.00478120
test al, al
je 0x4e7b58
push 0x44
call fcn.004aa098
cmp eax, esi
pop ecx
je 0x478114
fld dword [ebp - 0x68]
sub esp, 0x14
fstp dword [esp + 0x10]
mov ecx, eax
fld dword [ebp - 0x8c]
fstp dword [esp + 0xc]
fld dword [ebp - 0x78]
fstp dword [esp + 8]
fld dword [ebp - 0x70]
fstp dword [esp + 4]
fld dword [ebp - 0x6c]
fstp dword [esp]
call fcn.00431c20
cmp eax, esi
je 0x478118
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + eax + 4]
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x90]
push dword [eax + 0x50]
call fcn.0048e570
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00448860
push esi
push ebx
lea ecx, [ebp - 0x48]
call fcn.00448860
mov al, bl
call fcn.004ad0a8
ret 4
xor eax, eax
jmp 0x4780d6
xor ecx, ecx
jmp 0x4780e4
mov eax, str.scale
lea edx, [ebp - 0x2c]
call fcn.00478120
test al, al
je 0x4e7bbd
push 0x44
call fcn.004aa098
cmp eax, esi
pop ecx
je 0x478114
fld dword [ebp - 0x68]
sub esp, 0x1c
fstp dword [esp + 0x18]
fld dword [ebp - 0x7c]
fstp dword [esp + 0x14]
fld dword [ebp - 0x88]
fstp dword [esp + 0x10]
fld dword [ebp - 0x70]
fstp dword [esp + 0xc]
fld dword [ebp - 0x84]
fstp dword [esp + 8]
fld dword [ebp - 0x80]
fstp dword [esp + 4]
fld dword [ebp - 0x6c]
fstp dword [esp]
push eax
call fcn.005146d4
jmp 0x4780d6
mov eax, str.rotate
lea edx, [ebp - 0x2c]
call fcn.00478120
test al, al
je 0x4e7c12
push 0x30
call fcn.004aa098
cmp eax, esi
pop ecx
je 0x4e7bfc
fld dword [ebp - 0x68]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ebp - 0x74]
fstp dword [esp + 4]
fld dword [ebp - 0x94]
fstp dword [esp]
push eax
call fcn.00514642
jmp 0x4e7bfe
xor eax, eax
cmp eax, esi
je 0x478118
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
add ecx, eax
jmp 0x4780e4
lea ecx, [ebp - 0x2c]
call fcn.00416880
lea ecx, [ebp - 0x48]
call fcn.00416880
xor al, al
jmp 0x47810c