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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
xor ebx, ebx
lea edi, [ecx + 0x44]
mov eax, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
xor esi, esi
call fcn.0041ae5a
test eax, eax
jbe 0x482ce3
call fcn.00458652
mov eax, dword [eax]
cmp dword [eax + 0x3c], ebx
je 0x4828fc
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.0045a92a
test al, al
je 0x482837
call fcn.00458652
mov eax, dword [eax]
push dword [eax + 0x3c]
call fcn.00477b3c
jmp 0x4828d2
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.004773c5
test al, al
je 0x48288c
cmp dword [0x57b4d8], ebx
je 0x48285b
cmp dword [0x577b24], 3
je 0x4828d2
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x7b], 0
call fcn.00458652
fld1
mov eax, dword [eax]
push ecx
fstp dword [esp]
push ebx
fld dword [0x543c84]
push ebx
push ecx
mov ecx, dword [eax + 0x3c]
fstp dword [esp]
call fcn.00477f0c
jmp 0x4828d2
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.00459639
test al, al
je 0x4828d2
call fcn.00458652
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
call fcn.0045a92a
test al, al
jne 0x4828d2
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x76], 1
call fcn.00458652
mov ebx, eax
lea eax, [esp + 0x28]
call fcn.0045dc65
xor ebx, ebx
call fcn.00458652
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov byte [eax + 0x77], 0
mov byte [eax + 0x78], 0
call fcn.00458652
fld dword [0x544044]
push 1
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.0045b278
mov eax, edi
inc esi
call fcn.0041ae5a
cmp esi, eax
jb 0x482800
cmp dword [esp + 0x2c], ebx
je 0x482ce3
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
sar eax, 2
je 0x482ce3
cmp byte [ebp + 8], 0
mov eax, dword [esp + 0xc]
mov dword [eax + 0xd4], ebx
je 0x4829b5
push 0x78
call fcn.004e0321
cmp eax, ebx
pop ecx
je 0x482951
push 0x540be0
mov ebx, eax
call fcn.0049a466
mov ebx, eax
fld dword [0x543fe4]
sub esp, 0x18
fstp dword [esp + 0x34]
mov edi, esp
fld dword [0x543fe0]
lea esi, [esp + 0x34]
fstp dword [esp + 0x38]
fldz
fstp dword [esp + 0x3c]
fld dword [0x544be8]
fstp dword [esp + 0x14]
fld dword [0x544b94]
fstp dword [esp + 0x10]
fld dword [0x543a1c]
fstp dword [esp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 3
movsd dword es:[edi], dword [esi]
call fcn.0049a526
mov ecx, dword [0x57b4d8]
mov eax, dword [ecx]
push 0
push 0
push 1
push ebx
call dword [eax + 0x10]
xor ebx, ebx
jmp 0x482a3a
push str.fx_shuffle.cug
push ecx
call fcn.004064de
pop ecx
mov ecx, eax
call fcn.00406d85
push 0x9c
mov dword [esp + 0x18], eax
call fcn.004e0321
cmp eax, ebx
pop ecx
je 0x482a13
fld dword [0x543fe4]
sub esp, 0xc
fstp dword [esp + 0x28]
mov edi, esp
fld dword [0x544be4]
lea esi, [esp + 0x28]
fstp dword [esp + 0x2c]
push str.shuffle
fldz
mov ebx, eax
fstp dword [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040ff69
mov esi, eax
xor ebx, ebx
jmp 0x482a15
xor esi, esi
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push ebx
push ebx
push 0xffffffffffffffff
push esi
call dword [eax + 0x10]
mov ecx, dword [0x57b4d8]
mov eax, dword [ecx]
push ebx
push ebx
push 1
push esi
call dword [eax + 0x10]
mov byte [esi + 0x9b], 1
mov eax, dword [esp + 0xc]
fld dword [0x543c84]
fstp dword [eax + 0x1bc]
fld dword [0x5442e0]
fstp dword [eax + 0x1c8]
xor edi, edi
cmp dword [esp + 0x2c], edi
je 0x482b1a
mov esi, dword [esp + 0x30]
sub esi, dword [esp + 0x2c]
sar esi, 2
cmp ebx, esi
jae 0x482b1a
call fcn.004e0031
xor edx, edx
div esi
mov eax, dword [esp + 0x2c]
cmp eax, edi
mov esi, edx
mov dword [esp + 0x14], esi
je 0x482a9b
mov edx, dword [esp + 0x30]
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp ebx, ecx
jb 0x482aa8
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
cmp eax, edi
mov ecx, dword [eax + ebx*4]
mov dword [esp + 0x10], ecx
je 0x482abe
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x482acb
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
shl esi, 2
test eax, eax
lea edi, [esi + eax]
je 0x482ade
sub edx, eax
sar edx, 2
cmp ebx, edx
jb 0x482ae7
call fcn.004e0f8f
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
mov dword [eax + ebx*4], ecx
cmp dword [esp + 0x2c], 0
je 0x482b04
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
sar eax, 2
cmp dword [esp + 0x14], eax
jb 0x482b09
call fcn.004e0f8f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [esi + ecx], eax
inc ebx
jmp 0x482a56
lea eax, [esp + 0x28]
call fcn.0045dc20
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x3c]
and dword [esp + 0xc], 0
mov dword [ecx + 0x200], eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x482c4d
mov edx, dword [esp + 0x30]
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp edi, ecx
jae 0x482c44
lea esi, [ecx - 1]
cmp edi, esi
jae 0x482b7b
lea esi, [edi + 1]
cmp esi, ecx
jb 0x482b75
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + edi*4 + 4]
jmp 0x482b8e
test ecx, ecx
ja 0x482b8c
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
test eax, eax
mov dword [esp + 0x14], ecx
jne 0x482b9a
xor esi, esi
jmp 0x482ba1
sub edx, eax
sar edx, 2
mov esi, edx
call fcn.004e0031
xor edx, edx
div esi
mov eax, dword [esp + 0x2c]
test eax, eax
mov esi, edx
je 0x482bc3
mov edx, dword [esp + 0x30]
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x482bd0
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
test eax, eax
mov esi, dword [eax + esi*4]
je 0x482be0
sub edx, eax
sar edx, 2
cmp edi, edx
jb 0x482be9
call fcn.004e0f8f
mov eax, dword [esp + 0x2c]
fild dword [esp + 0xc]
push 2
lea ebx, [eax + edi*4]
push ecx
fmul qword [0x544490]
lea edi, [esi + 0xc]
mov eax, edi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 1
call fcn.00412c16
mov esi, eax
call fcn.004e0031
xor edx, edx
div esi
mov esi, edx
call fcn.004196a7
mov edx, dword [ebx]
mov ecx, dword [eax + 4]
push dword [esp + 0x20]
mov eax, dword [edx + 0x3c]
call fcn.0047a301
inc dword [esp + 0x10]
dec dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x482b3b
mov ecx, edx
sub ecx, eax
sar ecx, 2
jne 0x482c5a
call fcn.004e0f8f
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edi, dword [ecx + 0x3c]
xor esi, esi
test eax, eax
je 0x482cad
sub edx, eax
sar edx, 2
cmp esi, edx
jae 0x482cad
lea ecx, [edx - 1]
cmp esi, ecx
jae 0x482c8b
lea ecx, [esi + 1]
cmp ecx, edx
jb 0x482c85
call fcn.004e0f8f
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4 + 4]
jmp 0x482c9a
test edx, edx
ja 0x482c98
call fcn.004e0f8f
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x3c], edi
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edi, ecx
inc esi
jmp 0x482c61
fld1
sub esp, 0xc
fst dword [esp + 8]
fldz
fstp dword [esp + 4]
fstp dword [esp]
push str.sfx_shuffle.ogg
call fcn.0041cab2
mov ecx, eax
call fcn.0042746b
mov eax, dword [0x57b4d8]
mov byte [eax + 0x144], 1
mov byte [eax + 0x145], 1
lea esi, [esp + 0x28]
call fcn.00409c59
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4