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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi + 0x6ea9c]
mov ecx, dword [esi + 0x72588]
mov dword [esp + 0x18], edi
mov eax, dword [eax + 0x93ab74]
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esi + edi*4 + 0x6f3cc]
test eax, eax
je case.0x431271.51
mov ecx, dword [esp + 0x14]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
sub ecx, ebx
cmp ecx, edx
jbe case.0x431271.51
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], 1
mov dword [eax + 0xc], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov bl, byte [eax + 6]
inc bl
mov byte [eax + 6], bl
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
mov dword [eax + 0x2c], ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [eax + 0x28]
mov dword [eax + 0x30], edx
mov ecx, dword [esi + edi*4 + 0x6f3cc]
movsx eax, word [ecx + 4]
dec eax
cmp eax, 0xfb
ja case.0x431271.51
xor edx, edx
mov dl, byte [eax + 0x4347fc]
jmp dword [edx*4 + 0x434730]
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle case.0x431271.51
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x14]
push 0
push 0
push 0
add edx, 0x78
push 0
add eax, 0x41
push edx
push eax
push 0xcb
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x46
push 0
sub edx, 0xa
push ecx
push edx
push 0xcc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x4b
push 0
sub edx, 0xa
push ecx
push edx
push 0xcd
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x1b
push 0
sub edx, 7
push ecx
push edx
push 0xce
mov ecx, esi
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
test ecx, ecx
je 0x43470a
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x43470a
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jle case.0x431271.51
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push 0
push 0
push 0
add eax, 0x78
push 0
add ecx, 0x6e
push eax
push ecx
push 0xcb
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
add edx, 0x46
push 0
sub eax, 0xa
push edx
push eax
push 0xcc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x4b
push 0
sub edx, 0xa
push ecx
push edx
push 0xcd
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x78
idiv ecx
add edx, 0xf0
push edx
call fcn.004a71a7
cdq
mov ecx, 0xa0
idiv ecx
add edx, 0x140
push edx
push 0xca
jmp 0x433e1d
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle case.0x431271.51
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x14]
push 0
push 0
push 0
add edx, 0x78
push 0
add eax, 0x28
push edx
push eax
push 0xcb
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x46
push 0
sub edx, 0xa
push ecx
push edx
push 0xcc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x4b
push 0
sub edx, 0xa
push ecx
push edx
push 0xcd
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, 0x1b
push 0
sub edx, 7
push ecx
push edx
push 0xce
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x78
idiv ecx
add edx, 0xf0
push edx
call fcn.004a71a7
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, esi
add edx, 0x140
push edx
push 0xc9
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x78
idiv ecx
add edx, 0xf0
push edx
call fcn.004a71a7
cdq
mov ecx, 0xa0
idiv ecx
add edx, 0x140
push edx
push 0xca
jmp 0x433e1d
lea ebx, [ecx + 0x3c]
push 0x46
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
sub ebx, 0x28
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
shl edx, 5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov eax, dword [ecx + 0x20]
shl eax, 5
mov edx, eax
mov eax, dword [ecx + 0x28]
sub eax, edx
add eax, 0x28
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
test ecx, ecx
je 0x43470a
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x43470a
cmp byte [ecx + 6], 1
jne 0x431617
mov eax, dword [ecx + 0x48]
mov ebx, 1
cmp eax, ebx
jl 0x431617
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4315c0
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xf
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xf
push ecx
push 0xb
mov ecx, esi
call fcn.00411a00
mov edx, dword [esi + edi*4 + 0x6f3cc]
inc ebx
cmp ebx, dword [edx + 0x48]
jle 0x4315ad
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jl case.0x431271.51
jmp 0x433e2b
lea ebx, [ecx + 0x3c]
push 0x46
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
sub ebx, 0x28
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
shl edx, 5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov eax, dword [ecx + 0x20]
shl eax, 5
mov edx, eax
mov eax, dword [ecx + 0x28]
sub eax, edx
add eax, 0x28
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 5
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 2]
push edx
call fcn.004a71a7
cdq
mov ecx, 5
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 2]
push edx
push 0xe
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
sub ebx, 0x28
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xa
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xa
push ecx
push 8
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xa
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xa
push ecx
push 8
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xa
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xa
push ecx
push 8
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xa
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xa
push ecx
push 8
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0xa
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0xa
push ecx
push 8
mov ecx, esi
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
shl edx, 5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov eax, dword [ecx + 0x20]
shl eax, 5
mov edx, eax
mov eax, dword [ecx + 0x28]
sub eax, edx
add eax, 0x28
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
jmp 0x43132a
cmp byte [ecx + 6], 1
jne 0x431aab
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4318ed
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x43194a
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4319a7
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431a04
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431a61
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
mov edx, dword [esi + edi*4 + 0x6f3cc]
cmp byte [edx + 6], 7
jne 0x433019
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xf
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xf
mov ecx, esi
call fcn.00411a00
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xf
mov ecx, esi
call fcn.00411a00
jmp 0x433019
cmp byte [ecx + 6], 1
jne 0x431e58
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431bbf
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431c1c
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431c79
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431cd6
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431e0e
jmp 0x431e09
cmp byte [ecx + 6], 1
jne 0x431e58
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431d54
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431db1
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431e0e
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 9
mov ecx, esi
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jl case.0x431271.51
jmp 0x43132a
cmp byte [ecx + 6], 1
jne 0x43227b
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431e8f
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431eec
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431f49
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x431fa6
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432003
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432060
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4320bd
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x43211a
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432177
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4321d4
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432231
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jl case.0x431271.51
jmp 0x43132a
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x24]
add ebx, edx
mov dword [ecx + 0x24], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x28]
add edx, ecx
mov dword [eax + 0x28], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
inc dword [eax + 0x44]
jmp 0x433019
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x24]
add ebx, edx
mov dword [ecx + 0x24], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x28]
add edx, ecx
mov dword [eax + 0x28], edx
jmp 0x433019
cmp byte [ecx + 6], 0xf
jge 0x433019
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4322fe
dec eax
or eax, 0xfffffffe
inc eax
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
jne 0x43230d
inc ecx
jmp 0x43230e
dec ecx
mov dword [eax + 0x24], ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
dec dword [eax + 0x28]
jmp 0x433019
lea ebx, [ecx + 0x3c]
lea eax, [ecx + 0x28]
push 0x28
lea edx, [ecx + 0x24]
push ebx
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x43235a
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov ebx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ecx + 0x20]
mov eax, dword [ecx + 0x28]
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ebx
push 0x12
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4323fb
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432458
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4324b5
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432512
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x43256f
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 0x14
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 0x14
push ecx
push 9
jmp 0x433e1d
lea ebx, [ecx + 0x3c]
lea eax, [ecx + 0x28]
push 0x32
lea edx, [ecx + 0x24]
push ebx
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x4325f1
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xf]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xf]
mov ecx, esi
push edx
push 0x21
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov ebx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ecx + 0x20]
mov eax, dword [ecx + 0x28]
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ebx
push 0x21
jmp 0x43131c
mov dx, word [ecx + 0x38]
mov ax, word [ecx + 0x34]
push edx
mov dx, word [ecx + 0x28]
push eax
mov ax, word [ecx + 0x24]
push edx
push eax
lea ecx, [esi + 0x38128]
call fcn.004a4fb0
movsx eax, al
dec eax
cmp eax, 7
ja case.default.0x4326a5
jmp dword [eax*4 + 0x4348f8]
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x44], 0xfffffffe
jmp case.default.0x4326a5
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x44], 0xfffffffe
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x40], 2
jmp case.default.0x4326a5
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, 2
jmp 0x432710
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x40], 0xfffffffe
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x44], 2
jmp case.default.0x4326a5
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x40], 0xfffffffe
jmp case.default.0x4326a5
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, 0xfffffffe
mov ebx, dword [eax + 0x40]
add ebx, ecx
mov dword [eax + 0x40], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x44], ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, 0xfffffff6
cmp dword [eax + 0x40], ecx
jge 0x432736
mov dword [eax + 0x40], ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov edx, 0xa
cmp dword [eax + 0x40], edx
jle 0x43274a
mov dword [eax + 0x40], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
cmp dword [eax + 0x44], ecx
jge 0x432759
mov dword [eax + 0x44], ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
cmp dword [eax + 0x44], edx
jle 0x432768
mov dword [eax + 0x44], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x40]
mov ebp, dword [eax + 0x24]
add ebp, ecx
mov dword [eax + 0x24], ebp
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x28]
add ebx, edx
mov dword [eax + 0x28], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov edx, dword [eax + 0x38]
dec edx
mov dword [eax + 0x38], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
cmp byte [eax + 6], 0xa
jle case.0x431271.51
mov byte [eax + 6], 0
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x38]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle case.0x431271.51
jmp 0x43132a
cmp byte [ecx + 6], 9
jne 0x432948
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle case.0x431271.51
jmp 0x433e2b
cmp byte [ecx + 6], 7
jl 0x43298b
mov ebx, dword [ecx + 0x24]
dec ebx
mov dword [ecx + 0x24], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x28]
add edx, ecx
mov dword [eax + 0x28], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
inc dword [eax + 0x48]
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov dl, byte [eax + 6]
mov cl, byte [eax + 7]
cmp dl, cl
jle case.0x431271.51
mov cx, word [eax + 4]
cmp cx, 0x2d
je 0x431323
cmp cx, 0x2e
je 0x431323
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
push 1
push 0
push 0
push 0
push ecx
push edx
push 0x32
mov ecx, esi
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0xe
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0xe
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0xe
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
push edx
push 0x33
jmp 0x43131c
cmp byte [ecx + 6], 7
jl 0x432b66
mov ebx, dword [ecx + 0x24]
dec ebx
mov dword [ecx + 0x24], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x28]
add edx, ecx
mov dword [eax + 0x28], edx
mov eax, dword [esi + edi*4 + 0x6f3cc]
add dword [eax + 0x48], 4
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov dl, byte [eax + 6]
mov cl, byte [eax + 7]
cmp dl, cl
jle case.0x431271.51
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
cmp word [eax + 4], 0x31
push 1
push 0
push 0
push 0
push ecx
push edx
jne 0x4329c8
push 0x48
jmp 0x4329ca
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle 0x432db3
mov edx, dword [ecx + 0x28]
mov eax, dword [ecx + 0x24]
push 0
push 0
push 0
push 0
push edx
push eax
push 0x3d
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
push 0
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
push 0
push ecx
push edx
push 0x3f
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432bf7
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432c54
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432cb1
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432d0e
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432d6b
dec eax
or eax, 0xfffffffe
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
sub ecx, edx
add ecx, 5
push ecx
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
sub ecx, edx
add ecx, 5
push ecx
push 0xc
jmp 0x433e1d
test al, al
jl case.0x431271.51
mov ebp, dword [ecx + 0x24]
push 0
add ebp, 0xffffffe2
push 0
mov dword [ecx + 0x24], ebp
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 0
push 0
mov ebx, dword [eax + 0x28]
add ebx, 0x2e
mov dword [eax + 0x28], ebx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
push ecx
push edx
push 0x3e
mov ecx, esi
call fcn.00411a00
jmp case.0x431271.51
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jg 0x43132a
test al, al
jl case.0x431271.51
mov ebx, dword [esi + edi*4 + 0x6f3cc]
call fcn.004a71a7
cdq
mov ecx, 3
mov ebp, dword [ebx + 0x24]
idiv ecx
dec edx
add ebp, edx
mov dword [ebx + 0x24], ebp
mov ebx, dword [esi + edi*4 + 0x6f3cc]
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
mov eax, dword [ebx + 0x28]
dec edx
add eax, edx
mov dword [ebx + 0x28], eax
jmp case.0x431271.51
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jg 0x433e2b
test al, al
jl case.0x431271.51
mov ebx, dword [esi + edi*4 + 0x6f3cc]
call fcn.004a71a7
cdq
mov ecx, 3
mov ebp, dword [ebx + 0x24]
idiv ecx
dec edx
add ebp, edx
mov dword [ebx + 0x24], ebp
mov ebx, dword [esi + edi*4 + 0x6f3cc]
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x432e99
dec eax
or eax, 0xfffffffe
inc eax
mov edx, 0xfffffffc
sub edx, eax
mov eax, dword [ebx + 0x28]
add eax, edx
mov dword [ebx + 0x28], eax
jmp case.0x431271.51
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jg 0x43132a
cmp al, 0xb
jne case.0x431271.51
movsx ecx, word [ecx + 0x48]
mov eax, 5
sub eax, ecx
test eax, eax
jg 0x432ed4
xor eax, eax
shl eax, 2
cmp eax, 2
jle case.0x431271.51
mov dword [esi + 0x72f0c], eax
jmp case.0x431271.51
lea ebx, [ecx + 0x3c]
lea eax, [ecx + 0x28]
push 0x32
lea edx, [ecx + 0x24]
push ebx
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xf]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xf]
mov ecx, esi
push edx
push 0x30
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0x33
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov ebx, dword [ecx + 0x24]
mov edx, dword [ecx + 0x1c]
mov eax, ebx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ecx + 0x28]
mov edx, dword [ecx + 0x20]
mov eax, ebp
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ebx
push 0x31
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0xa
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jle case.0x431271.51
jmp 0x43132a
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x433073
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 7
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x433145
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x4331a0
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 6
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 5
jmp 0x433e1d
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 5
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff9
push 0
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
shl edx, 5
shl eax, 5
sub edx, 0xf
push 0
sub eax, 0x1e
push edx
push eax
push 5
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x1e
push 0
add edx, 0x23
push ecx
push edx
push 5
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x1e
push 0
add edx, 0x14
push ecx
push edx
push 5
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x4333e4
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x43343f
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x43349a
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 0xa
jmp 0x43131c
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl edx, 5
shl eax, 5
push edx
push eax
push 0x28
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff6
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0xf
push 0
sub edx, 0x1e
push ecx
push edx
push 0x28
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffa
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x1e
push 0
add edx, 0x23
push ecx
push edx
push 0x28
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x1e
push 0
add edx, 0x14
push ecx
push edx
push 0x28
jmp 0x43131c
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
dec edx
push 0
dec eax
push edx
mov edx, dword [ecx + 0x18]
push eax
mov eax, dword [ecx + 0x14]
push edx
push eax
push 0x6e
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
dec ecx
inc edx
push ecx
mov ecx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x14]
push ecx
push edx
push 0x6e
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
inc ecx
inc edx
push ecx
mov ecx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x14]
push ecx
push edx
push 0x6e
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
and eax, reloc.ws2_32.dll_closesocket
jns 0x43364b
dec eax
or eax, 0xfffffffc
inc eax
neg al
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 8
call fcn.00411a00
movsx eax, word [esi + 0x73010]
cdq
and edx, 0x1f
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, eax
mov eax, dword [edx + 0x1c]
sar ecx, 5
sub eax, ecx
sub eax, 0xa
movsx ecx, word [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
push eax
push ecx
push 1
push 0x45
mov ecx, esi
call fcn.00446e60
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
push 0
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
shl edx, 5
push 0
push edx
shl eax, 5
push eax
push 7
jmp 0x433e1d
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle 0x43371d
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl edx, 5
shl eax, 5
push edx
push eax
push 0xa
jmp 0x433e1d
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov eax, 5
sub eax, edx
mov dword [ecx + 0x40], eax
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov eax, 5
sub eax, edx
mov dword [ecx + 0x44], eax
jmp case.0x431271.51
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jg 0x43132a
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
push 0
push edx
mov edx, dword [ecx + 0x18]
push eax
mov eax, dword [ecx + 0x14]
push edx
push eax
push 0x89
mov ecx, esi
call fcn.00411a00
movsx eax, word [esi + 0x73010]
mov ecx, dword [esi + edi*4 + 0x6f3cc]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
add eax, edx
mov ebp, eax
sar ebp, 5
mov eax, ebp
sub eax, ebx
add eax, 0xa
cdq
mov ecx, eax
movsx eax, word [esi + 0x73012]
xor ecx, edx
sub ecx, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ecx
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
sar eax, 5
sub eax, dword [edx + 0x20]
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp cx, ax
jg 0x4337e5
mov dword [esp + 0x10], eax
sub ebx, ebp
sub ebx, 0xa
movsx edx, word [esp + 0x10]
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 3
push ecx
push edx
push 1
push 0x45
mov ecx, esi
call fcn.00446e60
jmp case.0x431271.51
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl eax, 5
shl ecx, 5
push eax
push ecx
push 0x29
mov ecx, esi
call fcn.00411a00
xor ebx, ebx
or dl, 0xff
push 1
sub dl, bl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x5a
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x28]
push edx
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
mov ecx, esi
add edx, 0x29
push edx
call fcn.00411a00
inc ebx
cmp ebx, 0xe
jl 0x43382e
xor ebx, ebx
mov dl, 0xf5
push 1
sub dl, bl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x5a
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x28]
push edx
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4338f2
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0x2d
mov ecx, esi
push eax
call fcn.00411a00
inc ebx
cmp ebx, 6
jl 0x433898
jmp 0x431323
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jg 0x43132a
mov ebx, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
sub ecx, edx
add ecx, 0x32
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
shl eax, 5
sub eax, edx
mov edx, dword [ebx + 0x14]
add eax, 0x32
push eax
push ecx
push edx
push 0x10
mov ecx, esi
call fcn.00411a00
movsx eax, word [esi + 0x73010]
mov ecx, dword [esi + edi*4 + 0x6f3cc]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
add eax, edx
mov ebp, eax
sar ebp, 5
mov eax, ebp
sub eax, ebx
add eax, 0xa
cdq
mov ecx, eax
movsx eax, word [esi + 0x73012]
xor ecx, edx
sub ecx, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ecx
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
sar eax, 5
sub eax, dword [edx + 0x20]
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp cx, ax
jg 0x4339c4
mov dword [esp + 0x10], eax
movsx eax, word [esp + 0x10]
sub ebx, ebp
mov ecx, esi
sub ebx, 0xa
push ebx
push eax
push 1
push 0x45
call fcn.00446e60
jmp case.0x431271.51
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 0x1e
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff9
push 0
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
shl edx, 5
shl eax, 5
sub edx, 0xf
push 0
sub eax, 0x1e
push edx
push eax
push 0x1f
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x1e
push 0
add edx, 0x23
push ecx
push edx
push 0x1f
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x1e
push 0
add edx, 0x14
push ecx
push edx
push 0x1f
jmp 0x43131c
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ebx, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
mov ebp, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shl ebp, 5
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x431271.51
push 1
push 0
push 0
push 0
push ebp
push ecx
push 0xfc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff9
push 0
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
shl edx, 5
shl eax, 5
sub edx, 0xf
push 0
sub eax, 0x1e
push edx
push eax
push 0xfc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x1e
push 0
add edx, 0x23
push ecx
push edx
push 0xfc
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x1e
push 0
add edx, 0x14
push ecx
push edx
push 0xfc
jmp 0x43131c
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl edx, 5
shl eax, 5
push edx
push eax
push 0x38
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff6
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0xf
push 0
sub edx, 0x1e
push ecx
push edx
push 0x38
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffa
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x1e
push 0
add edx, 0x23
push ecx
push edx
push 0x38
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x1e
push 0
add edx, 0x14
push ecx
push edx
push 0x38
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x38
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x38
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
mov ecx, esi
push edx
push 0x38
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 0xa
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x46
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x23]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
push 0x38
jmp 0x43131c
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jle case.0x431271.51
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl eax, 5
shl ecx, 5
push eax
push ecx
push 0x44
mov ecx, esi
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
test ecx, ecx
je 0x43470a
jmp 0x434704
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jg 0x43132a
movsx ecx, al
and ecx, reloc.dsound.dll_DirectSoundCreate
jns 0x433e56
dec ecx
or ecx, 0xfffffffe
inc ecx
jne case.0x431271.51
mov ebx, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
call fcn.004a71a7
cdq
mov ecx, 0x3c
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
sub ecx, edx
add ecx, 0x1e
push ecx
call fcn.004a71a7
cdq
mov ecx, 0x3c
idiv ecx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
shl eax, 5
sub eax, edx
mov edx, dword [ebx + 0x14]
add eax, 0x1e
push eax
push ecx
push edx
push 0x22
mov ecx, esi
call fcn.00411a00
movsx eax, word [esi + 0x73010]
mov ecx, dword [esi + edi*4 + 0x6f3cc]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
add eax, edx
mov ebp, eax
sar ebp, 5
mov eax, ebp
sub eax, ebx
add eax, 0xa
cdq
mov ecx, eax
movsx eax, word [esi + 0x73012]
xor ecx, edx
sub ecx, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ecx
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
sar eax, 5
sub eax, dword [edx + 0x20]
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp cx, ax
jg 0x433f0a
mov dword [esp + 0x10], eax
movsx eax, word [esp + 0x10]
sub ebx, ebp
mov ecx, esi
sub ebx, 0xa
push ebx
push eax
push 1
push 0x45
call fcn.00446e60
jmp case.0x431271.51
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x1c]
push 1
push 0
push 0
push 0
shl edx, 5
shl eax, 5
push edx
push eax
push 0x2c
mov ecx, esi
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
push 1
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
neg dl
push edx
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
xor ebx, ebx
or al, 0xff
push 1
sub al, bl
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x32]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
mov ecx, esi
push edx
push 0x2c
call fcn.00411a00
inc ebx
cmp ebx, 0x10
jl 0x43422f
xor ebx, ebx
mov al, 0xf5
push 1
sub al, bl
push eax
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x5a
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x2d]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x1c]
shl ecx, 5
lea edx, [edx + ecx - 0x28]
push edx
call fcn.004a71a7
and eax, reloc.dsound.dll_DirectSoundCreate
jns 0x4342e3
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0x2d
mov ecx, esi
push eax
call fcn.00411a00
inc ebx
cmp ebx, 8
jl 0x434289
jmp 0x431323
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jg 0x43132a
mov ebx, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
lea edx, [edx + ecx - 1]
push edx
call fcn.004a71a7
cdq
mov ecx, 3
idiv ecx
mov eax, dword [ebx + 0x1c]
lea ecx, [edx + eax - 1]
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x14]
push ecx
push edx
push eax
push 0x97
mov ecx, esi
call fcn.00411a00
movsx eax, word [esi + 0x73010]
mov ecx, dword [esi + edi*4 + 0x6f3cc]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
add eax, edx
mov ebp, eax
sar ebp, 5
mov eax, ebp
sub eax, ebx
add eax, 0xa
cdq
mov ecx, eax
movsx eax, word [esi + 0x73012]
xor ecx, edx
sub ecx, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ecx
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
sar eax, 5
sub eax, dword [edx + 0x20]
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp cx, ax
jg 0x4343b0
mov dword [esp + 0x10], eax
movsx ecx, word [esp + 0x10]
sub ebx, ebp
sub ebx, 0xa
push ebx
push ecx
push 1
push 0x45
mov ecx, esi
call fcn.00446e60
jmp case.0x431271.51
lea ebx, [ecx + 0x3c]
push 0x28
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
push 1
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xf]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xf]
mov ecx, esi
push edx
push 0x50
call fcn.00411a00
push 0
push 0
push 0
push 0
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x28]
lea edx, [edx + ecx - 0xa]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x24]
lea edx, [edx + ecx - 0xa]
mov ecx, esi
push edx
push 0x50
call fcn.00411a00
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle 0x4344a9
test ecx, ecx
je 0x43470a
jmp 0x434704
movsx eax, word [esi + 0x73010]
cdq
mov ebx, dword [ecx + 0x1c]
and edx, 0x1f
add eax, edx
sar eax, 5
mov dword [esp + 0x1c], eax
sub eax, ebx
add eax, 0xa
cdq
mov ebp, eax
movsx eax, word [esi + 0x73012]
xor ebp, edx
sub ebp, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ebp
add eax, edx
mov edx, dword [ecx + 0x20]
sar eax, 5
sub eax, edx
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp bp, ax
jg 0x4344f6
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
movsx eax, word [esp + 0x10]
sub ebx, ecx
sub eax, 0xf
sub ebx, 0xa
mov ecx, esi
push ebx
push eax
push 1
push 0x45
call fcn.00446e60
jmp case.0x431271.51
mov dl, byte [ecx + 6]
mov al, byte [ecx + 7]
cmp dl, al
jg 0x43132a
mov ebx, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0
call fcn.004a71a7
cdq
mov ecx, 0x78
idiv ecx
mov eax, dword [esi + edi*4 + 0x6f3cc]
mov ecx, dword [eax + 0x20]
shl ecx, 5
lea edx, [edx + ecx - 0x3c]
push edx
call fcn.004a71a7
cdq
mov ecx, 0x78
idiv ecx
mov eax, dword [ebx + 0x1c]
shl eax, 5
lea ecx, [edx + eax - 0x3c]
mov edx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x14]
push ecx
push edx
push eax
push 0x47
mov ecx, esi
call fcn.00411a00
movsx eax, word [esi + 0x73010]
mov ecx, dword [esi + edi*4 + 0x6f3cc]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
add eax, edx
mov ebp, eax
sar ebp, 5
mov eax, ebp
sub eax, ebx
add eax, 0xa
cdq
mov ecx, eax
movsx eax, word [esi + 0x73012]
xor ecx, edx
sub ecx, edx
cdq
and edx, 0x1f
mov dword [esp + 0x10], ecx
add eax, edx
mov edx, dword [esi + edi*4 + 0x6f3cc]
sar eax, 5
sub eax, dword [edx + 0x20]
add eax, 7
cdq
xor eax, edx
sub eax, edx
cmp cx, ax
jg 0x4345d3
mov dword [esp + 0x10], eax
movsx ecx, word [esp + 0x10]
sub ebx, ebp
sub ebx, 0xa
push ebx
push ecx
push 1
push 0x45
mov ecx, esi
call fcn.00446e60
jmp case.0x431271.51
lea ebx, [ecx + 0x3c]
push 0x32
push ebx
mov ebx, dword [ecx + 0x20]
lea eax, [ecx + 0x28]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [eax]
push edx
shl ebx, 5
shl ecx, 5
push ebx
push ecx
mov ecx, dword [edx]
push eax
push ecx
lea ecx, [esi + 0x38128]
call fcn.004a5030
mov ecx, dword [esi + edi*4 + 0x6f3cc]
mov ebx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x24]
shl ebx, 5
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x434651
mov edx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x28]
shl edx, 5
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle 0x43132a
mov ecx, dword [ecx + 0x20]
push 1
shl ecx, 5
push 0xfffffffffffffff9
push 0
sub ecx, 0xf
push 0
add ebx, 0xffffffea
push ecx
push ebx
push 0x23
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffff9
push 0
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
shl edx, 5
shl eax, 5
sub edx, 7
push 0
sub eax, 0x16
push edx
push eax
push 0x24
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
sub ecx, 0x16
push 0
add edx, 0x1b
push ecx
push edx
push 0x24
mov ecx, esi
call fcn.00411a00
mov eax, dword [esi + edi*4 + 0x6f3cc]
push 1
push 0xfffffffffffffffd
push 0
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
shl ecx, 5
shl edx, 5
add ecx, 0x16
push 0
add edx, 0xc
push ecx
push edx
push 0x24
mov ecx, esi
call fcn.00411a00
jmp case.0x431271.51
mov al, byte [ecx + 6]
mov dl, byte [ecx + 7]
cmp al, dl
jle case.0x431271.51
test ecx, ecx
je 0x43470a
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + edi*4 + 0x6f3cc], 0
inc edi
cmp edi, 0x12c
jl 0x4311f7
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret