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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x15c
push ebx
mov ebx, dword [ebp + 8]
movzx edx, byte [ebx + 0xb]
mov eax, dword [ebx + 0x14]
push esi
mov esi, ecx
xor ecx, ecx
mov ch, byte [ebx + 9]
push edi
mov dword [esp + 0x20], eax
mov eax, 2
lea edi, [esp + 0x68]
mov cl, byte [ebx + 0xa]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x24], ecx
xor edx, edx
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x294]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x298]
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.300c4770
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x298]
mov edx, dword [esp + 0x24]
push 0
push ecx
mov edi, eax
mov eax, dword [esp + 0x28]
push edx
push eax
push edi
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], edi
call fcn.30185110
mov al, byte [ebx + 8]
xor ebx, ebx
cmp al, 0x11
jne 0x3014f9f8
cmp edi, ebx
je 0x3014f9a7
mov ecx, edi
call fcn.30186150
cmp eax, 3
jb 0x3014f9a7
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0
je 0x3014f9f8
lea ecx, [esp + 0x40]
call fcn.30182200
lea ecx, [esp + 0x54]
call fcn.300c3150
mov edx, dword [esp + 0x28]
push edx
call fcn.30208320
add esp, 4
push 0x30005b30
push 0x40
push 4
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.30001080
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x40]
call fcn.30182200
lea ecx, [esp + 0x54]
call fcn.300c3150
mov ecx, dword [esp + 0x28]
push ecx
call fcn.30208320
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea esi, [esp + 0x168]
mov edi, 0x40
mov edi, edi
sub esi, 4
mov ecx, esi
call fcn.300ba4b0
dec edi
mov dword [esi], ebx
jne 0x3014f9e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
cmp dword [ecx + 0xc], edx
jge 0x3014ffdc
lea ebx, [esp + 0x68]
lea ecx, [ecx]
push 0
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], 2
mov dword [esp + 0x24], 0
call fcn.30133750
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x14]
mov ecx, ebx
inc edi
push edx
mov dword [esp + 0x14], edi
add ebx, 4
call fcn.300ba520
lea ecx, [esp + 0x14]
call fcn.300ba4b0
cmp edi, 0x40
jge 0x3014fa67
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
cmp dword [ecx + 0xc], eax
mov dword [esp + 0x14], 0
jl 0x3014fa10
cmp edi, 3
jl 0x3014ffda
mov ecx, dword [esp + 0x68]
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x3014fa89
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x3014fa93
and ecx, 0x1f
mov eax, ecx
cmp eax, 4
je 0x3014faa1
cmp eax, 5
jne 0x3014ffda
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x18]
call fcn.300b9fd0
mov ecx, dword [esi + 0x298]
push eax
call fcn.30108fc0
lea ecx, [esp + 0x6c]
call fcn.30005af0
test al, al
jne 0x3014fad5
xor ebx, ebx
mov dword [esp + 0x24], ebx
jmp 0x3014fae9
lea ecx, [esp + 0x6c]
call fcn.30005a90
call fcn.3002ddb0
mov dword [esp + 0x24], eax
mov ebx, eax
mov eax, dword [esp + 0x28]
push 0x302a2ac8
push eax
call fcn.300757e0
add esp, 8
test al, al
jne 0x3014ff50
mov ecx, dword [esp + 0x28]
push str._result
push ecx
call fcn.300757e0
add esp, 8
test al, al
jne 0x3014ff50
mov edx, dword [esp + 0x28]
push 0x302986d0
push edx
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fd01
xor edi, edi
push edi
push edi
lea eax, [esp + 0x18]
push eax
push 0x302986e4
lea ecx, [esp + 0x84]
mov bl, 1
mov dword [esp + 0x20], 2
call fcn.30007f30
mov ecx, dword [esi + 0x298]
push eax
call fcn.30107a60
test eax, eax
je 0x3014fc6f
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x298]
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.30108fc0
mov eax, dword [esp + 0x14]
push str.NetStream.Pause.Notify
push eax
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fbc2
cmp dword [esi + 0x174], edi
jbe 0x3014fbc2
mov al, byte [esi + 0x150]
test al, al
je 0x3014fbc2
cmp dword [esi + 0xec], edi
jne 0x3014fbc2
xor bl, bl
mov ecx, dword [esp + 0x14]
push str.NetStream.Unpause.Notify
push ecx
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fbf4
cmp dword [esi + 0x174], edi
jbe 0x3014fbf4
mov al, byte [esi + 0x150]
test al, al
je 0x3014fbf4
cmp dword [esi + 0xec], edi
jne 0x3014fbf4
xor bl, bl
mov edx, dword [esp + 0x14]
push str.NetStream.Play.Start
push edx
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fc2b
cmp dword [esi + 0x174], edi
jbe 0x3014fc2b
mov al, byte [esi + 0x150]
test al, al
je 0x3014fc2b
cmp dword [esi + 0xec], edi
jne 0x3014fc2b
mov byte [esi + 0x14f], 0
mov eax, dword [esp + 0x14]
push str.NetStream.Play.Stop
push eax
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fc62
cmp dword [esi + 0x174], edi
jbe 0x3014fc62
mov al, byte [esi + 0x150]
test al, al
je 0x3014fc62
cmp dword [esi + 0xec], edi
jne 0x3014fc62
mov byte [esi + 0x14f], 1
lea ecx, [esp + 0x14]
call fcn.30025af0
test bl, bl
je 0x3014fc7f
mov edx, dword [esi]
lea eax, [esp + 0x74]
push eax
push edi
push edi
push edi
push edi
mov ecx, esi
call dword [edx + 0x10]
push edi
push edi
lea ecx, [esp + 0x28]
push ecx
push 0x302986e4
lea ecx, [esp + 0x84]
mov dword [esp + 0x30], 2
call fcn.30007f30
mov ecx, dword [esi + 0x298]
push eax
call fcn.30107a60
test eax, eax
je 0x3014ffda
mov ecx, dword [esi + 0x298]
xor eax, eax
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
push edx
lea eax, [esp + 0x24]
push eax
call fcn.30108fc0
mov ecx, dword [esp + 0x14]
push str.NetStream.Publish.BadName
push ecx
call fcn.300757e0
add esp, 8
test al, al
je 0x3014fcf3
mov ecx, esi
call fcn.3014f320
lea ecx, [esp + 0x14]
call fcn.30025af0
jmp 0x3014ffda
lea eax, [edi - 1]
cmp eax, 3
jl 0x3014fd42
lea ebx, [esp + eax*4 + 0x68]
add eax, 0xfffffffe
mov dword [esp + 0x10], eax
push ebx
lea ecx, [esp + 0x24]
call fcn.300b9fd0
mov edx, dword [eax]
mov ecx, dword [esi + 0x298]
push edx
call fcn.30013cb0
mov eax, dword [esp + 0x10]
sub ebx, 4
dec eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], eax
jne 0x3014fd14
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx]
add edi, 0xfffffffd
push edi
lea edx, [esp + 0x78]
push edx
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esi + 0x294]
push edx
call dword [eax + 8]
movzx ebx, al
mov eax, dword [esp + 0x24]
test eax, eax
jbe 0x3014ffda
mov eax, dword [esi + 0x298]
mov edi, dword [esp + 0x34]
push 0
push eax
push edi
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], 0x14
call fcn.301851a0
test edi, edi
je 0x3014fdb3
mov ecx, edi
call fcn.30186150
cmp eax, 3
jb 0x3014fdb3
mov ecx, dword [esp + 0x38]
push 0
add ecx, 4
mov dword [esp + 0x24], 0x11
call fcn.3015bd40
test ebx, ebx
mov dword [esp + 0x14], 2
mov dword [esp + 0x1c], 0
mov edi, str._result
jne 0x3014fdd1
mov edi, 0x302a2ac8
mov ecx, dword [esi + 0x298]
call fcn.300f88b0
mov ecx, dword [esi + 0x298]
push eax
push edi
push ecx
lea ecx, [esp + 0x20]
call fcn.300e8af0
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0x18]
push edx
call fcn.30133750
fild dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
test ecx, ecx
mov eax, dword [esi + 0x298]
push eax
jge 0x3014fe17
fadd qword [0x30294540]
sub esp, 8
lea ecx, [esp + 0x20]
fstp qword [esp]
call fcn.300e8b20
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0x18]
push edx
call fcn.30133750
test ebx, ebx
jne 0x3014feaf
mov eax, dword [esi + 0x298]
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 2
mov dword [esp + 0x54], ebx
call fcn.300ba720
lea ecx, [esp + 0x48]
call fcn.30007f30
mov ecx, dword [esi + 0x298]
push ebx
mov edi, eax
push 0x302938a8
push edi
call fcn.301021c0
push str.NetConnection.Call.Failed
push 0x302986e4
mov ecx, edi
call fcn.300ee940
push 0x302986fc
push 0x302986ec
mov ecx, edi
call fcn.300ee940
push ebx
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x40]
call fcn.30133750
lea ecx, [esp + 0x48]
call fcn.300ba4b0
jmp 0x3014fefe
lea ecx, [esp + 0x14]
call fcn.300ba6a0
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0x18]
push edx
call fcn.30133750
mov ecx, dword [esi + 0x298]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 2
call fcn.30011610
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.300ba520
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0x18]
push edx
call fcn.30133750
mov ecx, dword [esi + 0x298]
call fcn.30003480
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 8]
call dword [sym.imp.WINMM.dll_timeGetTime]
and eax, 0x7fffffff
push eax
mov eax, dword [esp + 0x24]
push edi
push ebx
push eax
lea ecx, [esi + 0x84]
call fcn.30135b30
lea ecx, [esp + 0x14]
call fcn.300ba4b0
lea ecx, [esp + 0x38]
mov dword [esp + 0x14], 0
call fcn.30182200
jmp 0x3014ffda
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x28]
push ebx
push edx
call fcn.30146290
mov edi, eax
add esp, 8
test edi, edi
je 0x3014ffda
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x38]
call fcn.300b9fd0
mov edx, dword [esp + 0x28]
mov eax, dword [esi]
lea ecx, [esp + 0x34]
push ecx
push edi
push str._result
push edx
mov dword [esp + 0x20], eax
call fcn.300757e0
add esp, 8
mov ecx, esi
push eax
mov eax, dword [esp + 0x1c]
call dword [eax + 0x14]
test al, al
jne 0x3014ffca
mov eax, dword [esp + 0x28]
push 0x302a2ac8
push eax
call fcn.300757e0
add esp, 8
test al, al
je 0x3014ffca
mov edx, dword [esi]
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 0
push 0
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 0x18]
add ecx, 0x28
push ebx
push ecx
call fcn.30145740
add esp, 8
xor ebx, ebx
lea ecx, [esp + 0x40]
call fcn.30182200
lea ecx, [esp + 0x54]
call fcn.300c3150
mov edx, dword [esp + 0x28]
push edx
call fcn.30208320
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea esi, [esp + 0x168]
mov edi, 0x40
sub esi, 4
mov ecx, esi
call fcn.300ba4b0
dec edi
mov dword [esi], ebx
jne 0x30150013
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4