Function at 0x4420b0
Capabilities:
Print debug messages

Disassembly:
mov eax, dword [0x7dedfc]
sub esp, 0x64
push ebx
xor ebx, ebx
push ebp
cmp eax, ebx
push esi
jne 0x4420ca
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
cmp dword [0x7e0dd4], ebx
je 0x4420d9
call fcn.00443290
jmp 0x4420e9
push 0x64
call fcn.00442080
add esp, 4
mov word [0x7e0dd8], ax
movsx eax, word [0x4af29c]
push eax
call fcn.00454b10
mov edx, 0x7c8fe8
add esp, 4
sub edx, 0x4befa4
mov dword [0x7c8fe0], eax
mov dword [0x7dedf8], ebx
mov dword [0x7dee00], ebx
xor esi, esi
mov dword [esi + 0x7c90fc], ebx
mov eax, 0x4befa4
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x442122
add esi, 0x118
add edx, 0x118
cmp esi, 0x15e00
jb 0x442117
xor eax, eax
mov dword [eax + 0x7e0bb4], ebx
mov dword [eax + 0x7e0b98], ebx
mov dword [eax + 0x7e0ba0], ebx
add eax, 0x30
cmp eax, 0x240
jb 0x442142
push ebx
push 0x7dee04
push ebx
call sub.DSOUND.dll_DirectSoundCreate
test eax, eax
jge 0x442177
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.cl_Sound:_Created_DSound_Object_n
call esi
mov eax, dword [0x7dee04]
mov edx, dword [esp + 0x74]
push 2
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
je 0x4421a3
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
push str.cl_Sound:_Set_cooperative_level_n
call esi
mov eax, dword [esp + 0x78]
mov edx, 0x10
mov ecx, 0xac44
cmp eax, ebx
mov word [0x7e0dcc], dx
mov dword [0x7e0b60], ecx
mov dword [0x7e0dd0], 3
mov dword [0x7dedec], 0xc
mov ebp, 1
jne 0x4421fa
mov eax, 8
mov dword [0x7e0dd0], ebp
mov word [0x7e0dcc], ax
mov dword [0x7dedec], eax
jmp 0x44223a
cmp eax, ebp
jne 0x44221f
mov dword [0x7e0dd0], ebp
mov word [0x7e0dcc], 8
mov dword [0x7e0b60], ecx
mov dword [0x7dedec], 0xa
jmp 0x442244
cmp eax, 2
jne 0x442244
mov dword [0x7e0dd0], eax
mov word [0x7e0dcc], dx
mov dword [0x7dedec], 0xa
mov dword [0x7e0b60], 0x5622
push edi
mov ecx, 9
xor eax, eax
mov edi, 0x7e0b64
rep stosd dword es:[edi], eax
mov eax, dword [0x7dee04]
push ebx
mov dword [0x7e0b64], 0x24
mov dword [0x7e0b68], ebp
mov ecx, dword [eax]
push 0x7dedf4
push 0x7e0b64
push eax
call dword [ecx + 0xc]
test eax, eax
pop edi
jge 0x442287
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
push str.cl_Sound:_Created_primary_buffer_n
call esi
mov ax, word [0x7e0dcc]
xor edx, edx
mov dword [esp + 0xc], edx
mov ecx, dword [0x7e0b60]
mov dword [esp + 0x10], edx
mov word [esp + 0xc], bp
mov dword [esp + 0x14], edx
mov word [esp + 0xe], 2
mov dword [esp + 0x18], edx
mov word [esp + 0x1a], ax
shr ax, 3
add eax, eax
mov word [esp + 0x1c], dx
mov word [esp + 0x18], ax
mov eax, dword [esp + 0x18]
and eax, 0xffff
lea edx, [esp + 0xc]
imul eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [0x7dedf4]
mov dword [esp + 0x10], ecx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x38]
test eax, eax
jge 0x442330
mov ecx, dword [0x7e0dcc]
mov eax, dword [0x7e0b60]
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x28]
push str.cl_Sound:_Failed_to_set_primary_buffer_format___dbit___dHz__n
push edx
call fcn.00465066
add esp, 0x10
lea eax, [esp + 0x20]
push eax
call esi
mov dword [0x7e0dd4], ebp
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov edx, dword [0x7e0dcc]
mov ecx, dword [0x7e0b60]
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x28]
push str.cl_Sound:_Set_primary_buffer_format:__dbit___dHz_n
push eax
call fcn.00465066
add esp, 0x10
lea ecx, [esp + 0x20]
push ecx
call esi
mov dword [0x7e0dd4], ebp
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x64
ret