Function at 0x4071d0
Capabilities:
Write file on windows

Disassembly:
cmp dword [0x4a0f50], 0
jne 0x4071da
ret
mov eax, dword [0x4a0f60]
sub eax, dword [0x4a0f50]
mov dword [0x4a0f5c], eax
mov eax, dword [0x4a0ef4]
mov eax, dword [eax]
push 0
push 0x4a0f3c
push 0x4a0f34
push 0x4a0f38
push 0x4a0f30
push dword [0x4a0f5c]
push dword [0x4a0f54]
push dword [0x4a0ef4]
call dword [eax + 0x2c]
cmp eax, 0x88780096
jne 0x40722a
call fcn.004074b1
jmp 0x4071ea
or eax, eax
jne 0x40730a
mov esi, dword [0x4a0f50]
mov edi, dword [0x4a0f30]
mov ecx, dword [0x4a0f38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4a0f38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x4a0f50]
add esi, dword [0x4a0f38]
mov edi, dword [0x4a0f34]
mov ecx, dword [0x4a0f3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4a0f3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4a0ef4]
mov eax, dword [eax]
push dword [0x4a0f3c]
push dword [0x4a0f34]
push dword [0x4a0f38]
push dword [0x4a0f30]
push dword [0x4a0ef4]
call dword [eax + 0x4c]
or eax, eax
je 0x4072d2
push 0x4755bd
push 0
call fcn.0043dc44
push 0x30
push 0x442440
push str.DirectSound_Unlock_failed___r_n_r_nError_Code:_0x
push dword [0x49ff24]
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
cmp byte [0x4acf89], 0
jne 0x40730a
mov eax, dword [0x4a0ef4]
mov eax, dword [eax]
push 0
push dword [0x4a0ef4]
call dword [eax + 0x34]
mov eax, dword [0x4a0ef4]
mov eax, dword [eax]
push 1
push 0
push 0
push dword [0x4a0ef4]
call dword [eax + 0x30]
mov byte [0x4acf89], 1
mov eax, dword [0x4a0f50]
mov dword [0x4a0f60], eax
mov eax, dword [0x4a0f54]
add eax, dword [0x4a0f5c]
cmp eax, dword [0x4a0ee4]
jb 0x40732d
sub eax, dword [0x4a0ee4]
mov dword [0x4a0f54], eax
cmp dword [0x44d024], 0
je 0x407370
cmp dword [0x4a0b90], 0xc800000
jae 0x407370
push 0
push 0x49ffbc
push dword [0x4a0f5c]
push dword [0x4a0f50]
push dword [0x44d024]
call sub.kernel32.dll_WriteFile
mov eax, dword [0x4a0f5c]
add dword [0x4a0b90], eax
mov byte [0x4acf8c], 0
cmp byte [0x4fb70d], 1
jne 0x40738e
cmp byte [0x4c724b], 1
jne 0x40738e
jmp 0x40743f
cmp dword [0x4fb6d0], 0
jne 0x40743f
jmp 0x4073c4
cmp byte [0x4acf8c], 0
jne 0x4073bd
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
mov byte [0x4acf8c], 1
push 1
call sub.kernel32.dll_Sleep
mov eax, dword [0x4a0ef4]
mov eax, dword [eax]
push 0x4a0f44
push 0x4a0f40
push dword [0x4a0ef4]
call dword [eax + 0x10]
or eax, eax
je 0x40740c
push 0x475603
push 0
call fcn.0043dc44
push 0x30
push 0x442440
push str.DirectSound_GetCurrentPosition___failed__r_n_r_nError_Code:_0x
push dword [0x49ff24]
call sub.user32.dll_MessageBoxA
push 0
call sub.kernel32.dll_ExitProcess
push dword [0x4a0f58]
call fcn.00407480
cmp eax, 1
je 0x40743f
mov ecx, dword [0x4a0f58]
sub ecx, dword [0x4a0f6c]
jae 0x407430
add ecx, dword [0x4a0ee4]
push ecx
call fcn.00407480
cmp eax, 1
je 0x40739d
cmp byte [0x4acf8c], 1
jne 0x40745c
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
mov byte [0x4acf8c], 0
mov eax, dword [0x4a0f58]
add eax, dword [0x4a0f5c]
cmp eax, dword [0x4a0ee4]
jb 0x407475
sub eax, dword [0x4a0ee4]
mov dword [0x4a0f58], eax
ret