Function at 0x500ed8d
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x1268]
mov eax, 0x1268
call fcn.050704b0
push 0xffffffffffffffff
push 0x5071dd8
mov eax, dword fs:[0]
push eax
mov eax, 0x44bc
call fcn.050704b0
mov eax, dword [0x509ddfc]
xor eax, ebp
mov dword [ebp + 0x1264], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x1270]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1278]
push 0x80
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea eax, [ebp + 0x1a8]
push ebx
push eax
call sub.MSVCR80.dll_memset
fld qword [0x5079750]
mov esi, dword [ebp + 0x1274]
mov dword [ebp + 0x1ac], 0x41444245
mov dword [ebp + 0x1b0], 0x4000000
mov dword [ebp + 0x1b4], 0x73636e72
mov dword [ebp + 0x1b8], 0x52474220
mov dword [ebp + 0x1bc], 0x58595a20
lea edi, [ebp + 0x1c0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, eax
movsd dword es:[edi], dword [esi]
inc eax
add esp, 4
mov dword [ebp + 0x1cc], 0x61637370
mov dword [ebp + 0x1d0], 0x4150504c
fstp qword [esp]
mov dword [ebp + 0x1e0], eax
mov dword [ebp + 0x1e8], eax
call fcn.05005171
mov dword [ebp + 0x1ec], eax
fld qword [0x5079748]
fstp qword [esp]
call fcn.05005171
fld qword [0x5079740]
mov dword [ebp + 0x1f0], eax
fstp qword [esp]
call fcn.05005171
pop ecx
pop ecx
mov dword [ebp + 0x1f4], eax
lea eax, [ebp + 0x1a8]
push eax
push dword [ebp - 0x14]
lea ecx, [ebp + 0xa0]
mov dword [ebp + 0x1f8], 0x41444245
call fcn.050094e9
mov eax, dword [ebp + 0x1274]
movzx eax, word [eax]
push eax
lea ecx, [ebp]
call fcn.0500739b
lea eax, [ebp]
push eax
lea ecx, [ebp + 0xa0]
mov dword [ebp - 4], ebx
call fcn.0500952b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x27c]
push dword [ebp - 0x14]
call fcn.0500763a
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], 1
call fcn.0500952b
lea ecx, [ebp - 0x24c8]
call fcn.0500eccf
lea eax, [ebp - 0x3bc]
call fcn.0500ec7d
mov esi, 0x507a1a8
lea edi, [ebp + 0x1258]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0x125d]
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 8
lea eax, [ebp + 0x125c]
push ebx
push eax
call sub.MSVCR80.dll_memset
fld qword [0x507a5a0]
add esp, 0xc
fstp qword [ebp - 0x34]
push ebx
push ebx
push 0x41324230
push 0x6d414220
push dword [ebp - 0x14]
lea ecx, [ebp - 0x168]
call fcn.05008d2c
push 3
call fcn.05008e08
push 3
call fcn.05008e12
xor esi, esi
fld1
sub esp, 0x10
fdiv qword [ebp - 0x34]
fstp qword [esp + 8]
fld qword [ebp + esi*8 - 0x24c8]
fdiv qword [ebp - 0x4d0]
fstp qword [esp]
call sub.MSVCR80.dll_pow
fmul qword [0x5079738]
add esp, 0x10
fadd qword [0x50796c8]
call fcn.05070416
mov word [ebp + esi*2 + 0x228], ax
inc esi
cmp esi, 0x400
jl 0x500ef7a
push 2
pop edi
push ebx
push ebx
lea eax, [ebp + 0x228]
mov esi, 0x6b545243
push esi
lea ecx, [ebp - 0x2ec]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], 0x400
mov dword [ebp - 0x74], eax
call fcn.05007918
fldz
push ecx
push ecx
lea eax, [ebp - 0x7c]
fstp qword [esp]
push eax
mov byte [ebp - 4], 3
call fcn.050079a2
lea ecx, [ebp - 0x2ec]
call fcn.050079de
mov ecx, dword [ebp - 0x14]
push eax
mov dword [ebp - 0x10], eax
call fcn.05014451
push dword [ebp - 0x10]
lea ecx, [ebp - 0x224]
push eax
mov dword [ebp - 0x24], eax
call fcn.0500519c
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 4
call fcn.05007a0f
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x24]
push ebx
call fcn.05008e1c
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x24]
push 1
call fcn.05008e1c
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x24]
push edi
call fcn.05008e1c
mov eax, 0xffff
mov word [ebp + 0x1228], bx
mov word [ebp + 0x122a], bx
mov word [ebp + 0x122c], bx
mov word [ebp + 0x122e], bx
mov word [ebp + 0x1230], bx
mov word [ebp + 0x1232], ax
mov word [ebp + 0x1234], bx
mov word [ebp + 0x1236], ax
mov word [ebp + 0x1238], bx
mov word [ebp + 0x123a], bx
mov word [ebp + 0x123c], ax
mov word [ebp + 0x123e], ax
mov word [ebp + 0x1240], ax
mov word [ebp + 0x1242], bx
mov word [ebp + 0x1244], bx
mov word [ebp + 0x1246], ax
mov word [ebp + 0x1248], bx
mov word [ebp + 0x124a], ax
mov word [ebp + 0x124c], ax
mov word [ebp + 0x124e], ax
mov word [ebp + 0x1250], bx
mov word [ebp + 0x1252], ax
mov word [ebp + 0x1254], ax
mov word [ebp + 0x1256], ax
mov byte [ebp - 0x20], 2
mov byte [ebp - 0x1f], 2
mov byte [ebp - 0x1e], 2
lea eax, [ebp + 0x1228]
push eax
push edi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x168]
call fcn.05008e98
push ebx
push ebx
push esi
lea ecx, [ebp - 0x1d8]
call fcn.05007c8b
lea eax, [ebp - 0x34]
push eax
push ebx
mov byte [ebp - 4], 5
call fcn.05007cd0
call fcn.05007d15
mov ecx, dword [ebp - 0x14]
push eax
mov dword [ebp - 0x10], eax
call fcn.05014451
push dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
push eax
mov dword [ebp - 0x28], eax
call fcn.0500519c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 6
call fcn.05007d2b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x28]
push ebx
call fcn.05008edf
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x28]
push 1
call fcn.05008edf
push dword [ebp - 0x10]
lea ecx, [ebp - 0x168]
push dword [ebp - 0x28]
push edi
call fcn.05008edf
fld qword [ebp - 0x3a4]
fmul qword [0x5079cc0]
push ecx
push ecx
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x39c]
mov dword [ebp - 0x64], eax
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x394]
mov dword [ebp - 0x58], eax
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x38c]
mov dword [ebp - 0x4c], eax
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x384]
mov dword [ebp - 0x60], eax
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x37c]
mov dword [ebp - 0x54], eax
fmul qword [0x5079cc0]
fstp qword [esp]
call fcn.050064f6
mov dword [ebp - 0x48], eax
push dword [ebp - 0x64]
call fcn.05006526
fsubr qword [0x507a598]
push dword [ebp - 0x60]
fstp qword [ebp - 0x1c]
call fcn.05006526
fsubr qword [ebp - 0x1c]
add esp, 8
fstp qword [esp]
call fcn.050064f6
push dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
call fcn.05006526
fsubr qword [0x5079cc0]
push dword [ebp - 0x54]
fstp qword [ebp - 0x1c]
call fcn.05006526
fsubr qword [ebp - 0x1c]
add esp, 8
fstp qword [esp]
call fcn.050064f6
push dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
call fcn.05006526
fsubr qword [0x507a590]
push dword [ebp - 0x48]
fstp qword [ebp - 0x1c]
call fcn.05006526
fsubr qword [ebp - 0x1c]
add esp, 8
fstp qword [esp]
call fcn.050064f6
pop ecx
pop ecx
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.05008f5b
push 0xc
lea eax, [ebp + 0x1258]
push eax
push ebx
call fcn.05008f65
push 0xc
lea eax, [ebp + 0x1258]
push eax
push 1
lea ecx, [ebp - 0x168]
call fcn.05008f65
push 0xc
lea eax, [ebp + 0x1258]
push eax
push edi
lea ecx, [ebp - 0x168]
call fcn.05008f65
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp + 0xa0]
call fcn.0500952b
push ebx
push ebx
push 0x42324130
push 0x6d424120
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1bc]
call fcn.05008d2c
push 3
mov byte [ebp - 4], 7
call fcn.05008e08
push 3
call fcn.05008e12
push 0xc
lea eax, [ebp + 0x1258]
push eax
push ebx
call fcn.05008f65
push 0xc
lea eax, [ebp + 0x1258]
push eax
push 1
lea ecx, [ebp - 0x1bc]
call fcn.05008f65
push 0xc
lea eax, [ebp + 0x1258]
push eax
push edi
lea ecx, [ebp - 0x1bc]
call fcn.05008f65
lea ecx, [ebp - 0x114]
call fcn.0501d90d
lea ecx, [ebp - 0x114]
call fcn.0501851b
push dword [ebp - 0x64]
call fcn.05006526
fstp qword [ebp - 0x114]
push dword [ebp - 0x58]
call fcn.05006526
fstp qword [ebp - 0xf4]
push dword [ebp - 0x4c]
call fcn.05006526
fstp qword [ebp - 0xd4]
push dword [ebp - 0x60]
call fcn.05006526
fstp qword [ebp - 0x10c]
push dword [ebp - 0x54]
call fcn.05006526
fstp qword [ebp - 0xec]
push dword [ebp - 0x48]
call fcn.05006526
fstp qword [ebp - 0xcc]
push dword [ebp - 0x5c]
call fcn.05006526
fstp qword [ebp - 0x104]
push dword [ebp - 0x50]
call fcn.05006526
fstp qword [ebp - 0xe4]
push dword [ebp - 0x44]
call fcn.05006526
fstp qword [ebp - 0xc4]
fld qword [0x507a588]
add esp, 4
fstp qword [esp + 0x18]
lea ecx, [ebp - 0x114]
fld qword [0x507a590]
fstp qword [esp + 0x10]
fld qword [0x5079cc0]
fstp qword [esp + 8]
fld qword [0x507a598]
fstp qword [esp]
call fcn.0501863c
lea ecx, [ebp - 0x114]
call fcn.050182f5
fld qword [ebp - 0x114]
push ecx
push ecx
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x10c]
mov dword [ebp - 0xac], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0x104]
mov dword [ebp - 0xa8], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xf4]
mov dword [ebp - 0xa4], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xec]
mov dword [ebp - 0xa0], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xe4]
mov dword [ebp - 0x9c], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xd4]
mov dword [ebp - 0x98], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xcc]
mov dword [ebp - 0x94], eax
fstp qword [esp]
call fcn.050064f6
fld qword [ebp - 0xc4]
mov dword [ebp - 0x90], eax
fstp qword [esp]
call fcn.050064f6
pop ecx
pop ecx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call fcn.05008f5b
push ebx
push ebx
push esi
lea ecx, [ebp - 0x1f4]
call fcn.05007c8b
fld1
fdiv qword [ebp - 0x34]
lea eax, [ebp - 0xb4]
push eax
push ebx
mov byte [ebp - 4], 8
fstp qword [ebp - 0xb4]
call fcn.05007cd0
call fcn.05007d15
mov ecx, dword [ebp - 0x14]
push eax
mov dword [ebp - 0x10], eax
call fcn.05014451
push dword [ebp - 0x10]
lea ecx, [ebp - 0x254]
push eax
mov dword [ebp - 0x2c], eax
call fcn.0500519c
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 9
call fcn.05007d2b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push dword [ebp - 0x2c]
push ebx
call fcn.05008edf
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push dword [ebp - 0x2c]
push 1
call fcn.05008edf
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push dword [ebp - 0x2c]
push edi
call fcn.05008edf
lea eax, [ebp + 0x1228]
push eax
push edi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.05008e98
mov dword [ebp - 0x10], ebx
fld1
mov eax, dword [ebp - 0x10]
fdiv qword [ebp - 0x34]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp + eax - 0x24c8]
fdiv qword [ebp - 0x4d0]
fstp qword [esp]
call sub.MSVCR80.dll_pow
fld qword [0x5079738]
fmul st(1), st(0)
add esp, 0x10
fxch st(1)
fadd qword [0x50796c8]
call fcn.05070416
movzx eax, ax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x2000
fild dword [ebp - 0x18]
fdivrp st(1)
fstp qword [ebp + eax - 0x44c8]
jl 0x500f606
mov dword [ebp - 0x10], ebx
fld1
sub esp, 0x10
fstp qword [esp + 8]
mov dword [ebp - 0x18], ebx
fild dword [ebp - 0x10]
fdiv qword [0x507a570]
fstp qword [esp]
call fcn.05006497
add esp, 0x10
mov ecx, dword [ebp - 0x18]
fcom qword [ebp + ecx*8 - 0x44c0]
fnstsw ax
test ah, 0x41
jne 0x500f6a4
inc ecx
cmp ecx, 0x3fe
mov dword [ebp - 0x18], ecx
jl 0x500f687
lea eax, [ebp + ecx*8 - 0x44c8]
fsub qword [eax]
inc ecx
fld qword [ebp + ecx*8 - 0x44c8]
fsub qword [eax]
fdivp st(1)
fld1
fld st(0)
fsub st(2)
fimul dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
fild dword [ebp - 0x18]
fmulp st(3)
faddp st(2)
fxch st(1)
fdiv qword [0x507a570]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x500f6e5
fstp st(1)
fld st(0)
fxch st(1)
sub esp, 0x18
fxch st(2)
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.050064c9
fmul qword [0x5079738]
add esp, 0x18
fadd qword [0x50796c8]
call fcn.05070416
mov ecx, dword [ebp - 0x10]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x400
mov word [ebp + ecx*2 + 0xa28], ax
jl 0x500f667
push ebx
push ebx
lea eax, [ebp + 0xa28]
push esi
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], 0x400
mov dword [ebp - 0x68], eax
call fcn.05007918
fldz
push ecx
push ecx
lea eax, [ebp - 0x70]
fstp qword [esp]
push eax
mov byte [ebp - 4], 0xa
call fcn.050079a2
lea ecx, [ebp - 0x32c]
call fcn.050079de
mov ecx, dword [ebp - 0x14]
mov esi, eax
push esi
call fcn.05014451
push esi
push eax
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x10], eax
call fcn.0500519c
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0xb
call fcn.05007a0f
push esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push ebx
call fcn.05008e1c
push esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push 1
call fcn.05008e1c
push esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1bc]
push edi
call fcn.05008e1c
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp + 0xa0]
call fcn.0500952b
fld qword [ebp - 0x4d0]
fmul qword [0x507a580]
sub esp, 0x18
lea ecx, [ebp - 0x2ac]
fstp qword [esp + 0x10]
fld qword [ebp - 0x4d0]
fstp qword [esp + 8]
fld qword [ebp - 0x4d0]
fmul qword [0x507a578]
fstp qword [esp]
push 0x77747074
call fcn.0500776e
mov eax, ecx
push eax
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], 0xc
call fcn.0500952b
lea ecx, [ebp + 0xa0]
call fcn.050096b5
mov edi, eax
mov esi, dword [edi + 0x28]
push esi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x4c8]
call fcn.0501488a
push dword [ebp - 0x4c8]
mov eax, dword [edi]
push esi
push ebx
mov ecx, edi
mov byte [ebp - 4], 0xd
call dword [eax + 0x18]
mov ecx, edi
call fcn.0503f8a6
push esi
push dword [ebp - 0x4c8]
call fcn.050417fa
mov edi, dword [ebp - 0x14]
pop ecx
pop ecx
push dword [ebp - 0x24]
mov ecx, edi
call fcn.05014474
push dword [ebp - 0x28]
mov ecx, edi
call fcn.05014474
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.05014474
push dword [ebp - 0x10]
mov ecx, edi
call fcn.05014474
push esi
push dword [ebp - 0x4c8]
push edi
call fcn.05041edb
add esp, 0xc
lea ecx, [ebp - 0x4c8]
mov edi, eax
mov byte [ebp - 4], 0xc
call fcn.050148bc
mov esi, vtable.ACEStream.0
lea ecx, [ebp - 0x1bc]
mov dword [ebp - method.CProfileTag.virtual_0], vtable.CProfileTag.0
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x254], esi
mov byte [ebp - 4], 6
call fcn.05008d8d
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x224], esi
mov byte [ebp - 4], 1
call fcn.05008d8d
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], bl
call fcn.050076bd
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1264]
xor ecx, ebp
call fcn.05070186
add ebp, 0x1268
leave
ret