Function at 0x439260
Capabilities:
Create thread

Disassembly:
mov eax, 0x44838
call fcn.0043fa90
mov eax, dword [esp + 0x4483c]
push ebx
push ebp
push esi
mov esi, dword [0x45a090]
push edi
push 0x16e360
push 0
mov dword [0x500998], eax
call esi
test eax, eax
mov dword [0x50099c], eax
jne 0x4392ac
push str.WaveBuffer
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
push 0x16e360
push 0
mov dword [0x4bc358], eax
call esi
test eax, eax
mov dword [0x4bc320], eax
jne 0x4392dd
push 0x46306c
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
mov ebx, dword [esp + 0x44858]
test ebx, ebx
mov dword [0x4bb9bc], eax
je 0x43941b
mov eax, dword [esp + 0x44854]
lea esi, [esp + 0x10]
mov ecx, eax
sub esi, eax
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x439300
lea edx, [esp + 0x110]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x439313
xor eax, eax
mov edi, ebx
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, ecx
or ecx, 0xffffffff
mov esi, edi
lea edx, [esp + 0x10]
mov edi, edx
repne scasb al, byte es:[edi]
dec edi
mov ecx, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, ecx
or ecx, 0xffffffff
mov esi, edi
lea edx, [esp + 0x110]
mov edi, edx
repne scasb al, byte es:[edi]
dec edi
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x4630ac]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
lea edi, [esp + 0x10]
repne scasb al, byte es:[edi]
mov eax, dword [0x4630a4]
mov cl, byte [0x4630a8]
dec edi
mov dword [edi], eax
mov byte [edi + 4], cl
xor eax, eax
lea edi, [esp + 0x110]
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov al, byte [0x4630b0]
dec edi
mov dword [edi], edx
lea ecx, [esp + 0x110]
push ecx
mov byte [edi + 4], al
lea edx, [esp + 0x14]
push edx
mov eax, 0x44638
call fcn.0043fa90
lea eax, [esp + 0x44850]
mov edi, esp
mov ecx, 0x1118e
mov esi, 0x4bc360
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004181b0
mov esi, eax
mov edi, 0x4bc360
mov ecx, 0x1118e
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4bc3c4]
add esp, 0x44644
cmp eax, 0xffffffff
jne 0x43941b
push str.Wave
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
push 0x4630e0
call dword [0x45a0ac]
test eax, eax
mov dword [0x4bc318], eax
jne 0x439449
push 0x4630ec
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
push str.EGLS_GetFunction
push eax
call dword [0x45a0a8]
test eax, eax
mov dword [0x4bc31c], eax
jne 0x439478
push 0x463128
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
push 0x4bb860
call eax
add esp, 4
push 9
push 2
push 0x10
push 0xac44
call dword [0x45a25c]
push eax
call dword [0x4bb864]
test eax, eax
jne 0x4394b8
push str.EAGLS.DLL
call fcn.00405210
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44838
ret
push 1
call dword [0x4bb8b0]
mov eax, 0x4bb8c0
mov dword [eax], 0
add eax, 0x1c
cmp eax, 0x4bb9bc
jl 0x4394c5
push 0x4bb9c0
push 0
call fcn.0043c590
push eax
push 0x439700
push 0
push 0
call fcn.0043fcfe
push 0
push 0
push 0
push 7
push 2
push str.loop
mov dword [0x4bc324], eax
call fcn.004397e0
add esp, 0x30
pop edi
pop esi
pop ebp
mov dword [0x472e64], 1
mov eax, 1
pop ebx
add esp, 0x44838
ret