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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, ecx
xor al, al
mov byte [ebp - 1], al
push esi
push edi
mov eax, dword [ebx + 0x1842ec]
mov dword [ebp - 0x10], ebx
mov edx, dword [eax + 0x670a38]
add edx, dword [ebx + 0x189300]
xor esi, esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], esi
nop dword [eax]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
lea edi, [esi*4 + 0x184c2c]
mov dword [ebp - 0xc], edi
test ecx, ecx
je 0x48c3cd
mov eax, edx
sub eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jbe 0x48c3cd
mov dword [ecx + 0xc], edx
mov eax, dword [ebx + edi]
mov byte [ebp - 1], 1
inc byte [eax + 6]
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x30], eax
mov esi, dword [ebx + edi]
movzx ecx, word [esi + 4]
movsx eax, cx
dec eax
cmp eax, 0xfc
ja case.0x48c023.3
movzx eax, byte [eax + 0x4902d0]
jmp dword [eax*4 + 0x4901d8]
test esi, esi
je 0x48c3c3
mov eax, dword [esi]
mov ecx, esi
jmp 0x48c3bf
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
mov eax, dword [esi + 0x18]
mov ecx, ebx
push 0
push 0
push 0
push 0
add eax, 0x78
push eax
mov eax, dword [esi + 0x14]
add eax, 0x41
push eax
push 0xcb
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x46
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x4b
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcd
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x1b
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 7
push eax
push 0xce
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
mov eax, dword [esi + 0x18]
mov ecx, ebx
push 0
push 0
push 0
push 0
add eax, 0x78
push eax
mov eax, dword [esi + 0x14]
add eax, 0x6e
push eax
push 0xcb
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x46
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x4b
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcd
call fcn.00488120
push 1
push 0
push 0
push 0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x78
idiv ecx
add edx, 0xf0
push edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, ebx
add edx, 0x140
push edx
push 0xca
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
mov eax, dword [esi + 0x18]
mov ecx, ebx
push 0
push 0
push 0
push 0
add eax, 0x78
push eax
mov eax, dword [esi + 0x14]
add eax, 0x28
push eax
push 0xcb
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x46
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x4b
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 0xa
push eax
push 0xcd
call fcn.00488120
mov ecx, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [ecx + 0x18]
push 0
add eax, 0x1b
push eax
mov eax, dword [ecx + 0x14]
mov ecx, ebx
sub eax, 7
push eax
push 0xce
call fcn.00488120
push 1
push 0
push 0
push 0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x78
idiv esi
add edx, 0xf0
push edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, ebx
add edx, 0x140
push edx
push 0xc9
call fcn.00488120
push 1
push 0
push 0
push 0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
add edx, 0xf0
push edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa0
idiv ecx
mov ecx, ebx
add edx, 0x140
push edx
push 0xca
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
jmp case.0x48c023.253
push 0x46
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
shl eax, 5
lea edx, [esi + 0x24]
push edx
sub eax, 0x28
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
add eax, 0x28
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
jmp case.0x48c023.253
cmp byte [esi + 6], 1
mov ecx, esi
jne 0x48c3b1
cmp dword [esi + 0x48], 1
mov dword [ebp - 0x18], 1
jl 0x48c3b1
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x1e
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c371
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 0xf
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0xf
push eax
push 0xb
call fcn.00488120
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebx + edi]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ecx + 0x48]
jle 0x48c345
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jl case.0x48c023.3
test ecx, ecx
je 0x48c3c3
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + edi], 0
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
inc esi
mov dword [ebp - 8], esi
cmp esi, 0x258
jl 0x48bfc0
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x46
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
shl eax, 5
lea edx, [esi + 0x24]
push edx
sub eax, 0x28
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
add eax, 0x28
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 5
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 5
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffffe
add eax, 0xfffffffe
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
shl eax, 5
lea edx, [esi + 0x24]
push edx
sub eax, 0x28
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 0xa
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 0xa
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 0xa
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 0xa
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
push 1
idiv ecx
push 0
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 0xa
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 0xa
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 0xa
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 0xa
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 0xa
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 0xa
push eax
push 8
call fcn.00488120
jmp 0x48c2f3
cmp byte [esi + 6], 1
jne 0x48c7f0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c657
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c6b1
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c70b
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c765
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c7bf
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 5
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
mov eax, dword [ebx + edi]
cmp byte [eax + 6], 7
jne 0x48c8cc
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebx + edi]
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
mov ecx, ebx
call fcn.00488120
mov ecx, dword [ebx + edi]
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jle case.0x48c023.3
jmp 0x48c3b9
cmp byte [esi + 6], 1
jne 0x48cecb
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c916
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c970
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48c9ca
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48ca24
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48ca7e
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 5
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 9
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b1
cmp byte [esi + 6], 1
jne 0x48cecb
jmp 0x48c99e
mov eax, dword [esi + 0x40]
add dword [esi + 0x24], eax
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x44]
add dword [ecx + 0x28], eax
mov eax, dword [ebx + edi]
inc dword [eax + 0x44]
jmp 0x48c8cc
cmp byte [esi + 6], 1
jne 0x48cecb
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cb16
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cb70
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cbca
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cc24
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cc7e
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48ccd8
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cd32
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cd8c
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48cde6
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48ce40
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48ce9a
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 0x14
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b1
mov eax, dword [esi + 0x40]
add dword [esi + 0x24], eax
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x44]
add dword [ecx + 0x28], eax
jmp 0x48c8cc
cmp byte [esi + 6], 0xf
jge 0x48c8cc
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
test al, 1
mov eax, dword [ebx + edi]
jne 0x48cf0b
inc dword [eax + 0x24]
mov eax, dword [ebx + edi]
dec dword [eax + 0x28]
jmp 0x48c8cc
dec dword [eax + 0x24]
mov eax, dword [ebx + edi]
dec dword [eax + 0x28]
jmp 0x48c8cc
push 0x28
lea eax, [esi + 0x3c]
push eax
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
push edx
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48cf68
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
add edi, 0xfffffff6
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
add eax, 0xfffffff6
add eax, esi
push eax
push 8
call fcn.00488120
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebx + eax]
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x1c]
sub eax, edi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x20]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push esi
push edi
push 0x12
mov ecx, ebx
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d007
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d061
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d0bb
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d115
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 0x14
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x28
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d16f
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 0x14
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 0x14
push eax
push 9
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
push edx
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x1e
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48d1f7
dec eax
or eax, 0xfffffffc
inc eax
neg al
add edi, 0xfffffff1
movzx eax, al
mov ecx, ebx
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, 0xfffffff1
add eax, esi
push eax
push 0x21
call fcn.00488120
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x24]
sub eax, dword [ecx + 0x1c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x20]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push esi
push dword [ecx + 0x1c]
mov ecx, ebx
push 0x21
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
movzx eax, word [esi + 0x38]
lea ecx, [ebx + 0x14a908]
push eax
movzx eax, word [esi + 0x34]
push eax
movzx eax, word [esi + 0x28]
push eax
movzx eax, word [esi + 0x24]
push eax
call fcn.00586a70
movsx eax, al
dec eax
cmp eax, 7
ja case.default.0x48d29a
jmp dword [eax*4 + 0x4903d0]
mov eax, dword [ebx + edi]
add dword [eax + 0x44], 0xfffffffe
mov eax, dword [ebx + edi]
add dword [eax + 0x40], 2
jmp case.default.0x48d29a
mov eax, dword [ebx + edi]
add dword [eax + 0x40], 2
mov eax, dword [ebx + edi]
add dword [eax + 0x44], 2
jmp case.default.0x48d29a
mov eax, dword [ebx + edi]
add dword [eax + 0x40], 0xfffffffe
mov eax, dword [ebx + edi]
add dword [eax + 0x44], 2
jmp case.default.0x48d29a
mov eax, dword [ebx + edi]
add dword [eax + 0x40], 0xfffffffe
jmp case.default.0x48d29a
mov eax, dword [ebx + edi]
add dword [eax + 0x40], 0xfffffffe
mov eax, dword [ebx + edi]
add dword [eax + 0x44], 0xfffffffe
mov eax, dword [ebx + edi]
cmp dword [eax + 0x40], 0xfffffff6
jge 0x48d2f8
mov dword [eax + 0x40], 0xfffffff6
mov eax, dword [ebx + edi]
cmp dword [eax + 0x40], 0xa
jle 0x48d308
mov dword [eax + 0x40], 0xa
mov eax, dword [ebx + edi]
cmp dword [eax + 0x44], 0xfffffff6
jge 0x48d318
mov dword [eax + 0x44], 0xfffffff6
mov eax, dword [ebx + edi]
cmp dword [eax + 0x44], 0xa
jle 0x48d328
mov dword [eax + 0x44], 0xa
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x40]
add dword [ecx + 0x24], eax
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x44]
add dword [ecx + 0x28], eax
mov eax, dword [ebx + edi]
dec dword [eax + 0x38]
mov eax, dword [ebx + edi]
cmp byte [eax + 6], 0xa
jle case.0x48c023.3
mov byte [eax + 6], 0
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x18]
sub eax, dword [ecx + 0x38]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jmp 0x48c8d5
cmp byte [esi + 6], 9
jne 0x48c8cc
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xffffffdd
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xffffffce
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xffffffdd
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xffffffce
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xffffffdd
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xffffffce
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xffffffdd
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xffffffce
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xffffffce
add eax, 0xffffffdd
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
jmp 0x48c8c5
cmp byte [esi + 6], 7
jl 0x48d4e0
dec dword [esi + 0x24]
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x48]
add dword [ecx + 0x28], eax
mov eax, dword [ebx + edi]
inc dword [eax + 0x48]
mov ecx, dword [ebx + edi]
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jle case.0x48c023.3
movzx eax, word [ecx + 4]
cmp ax, 0x2d
je 0x48d677
cmp ax, 0x2e
je 0x48d677
push 1
push 0
push 0
push 0
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0x32
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add edx, 0xfffffff6
mov ecx, ebx
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, 0xfffffff6
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
cmp byte [esi + 6], 7
jl 0x48d698
dec dword [esi + 0x24]
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x48]
add dword [ecx + 0x28], eax
mov eax, dword [ebx + edi]
add dword [eax + 0x48], 4
mov ecx, dword [ebx + edi]
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jle case.0x48c023.3
cmp word [ecx + 4], 0x31
mov eax, 0x48
push 1
push 0
push 0
push 0
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, 0x32
cmovne eax, ecx
mov ecx, ebx
movzx eax, ax
push eax
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
push 0
add esi, 0xfffffff6
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0xe
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff6
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, 0xfffffff6
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle 0x48da3d
push 0
push 0
push 0
push 0
push dword [esi + 0x28]
mov ecx, ebx
push dword [esi + 0x24]
push 0x3d
call fcn.00488120
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0x3f
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d89c
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d8f6
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d950
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48d9aa
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48da04
dec eax
or eax, 0xfffffffe
inc eax
neg al
mov ecx, ebx
movzx eax, al
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
sub eax, edi
mov edi, dword [ebp - 0xc]
add eax, 5
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
test al, al
js case.0x48c023.3
add dword [esi + 0x24], 0xffffffe2
mov ecx, ebx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
add dword [eax + 0x28], 0x2e
mov eax, dword [ebx + edi]
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0x3e
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, al
js case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 3
idiv esi
mov ecx, dword [ebx + edi]
lea eax, [edx - 1]
add dword [ecx + 0x24], eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
mov ecx, dword [ebx + edi]
lea eax, [edx - 1]
add dword [ecx + 0x28], eax
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, al
js case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebx + edi]
lea eax, [edx - 1]
add dword [ecx + 0x24], eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48daea
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [ebx + edi]
mov ecx, 0xfffffffc
sub ecx, eax
add dword [edx + 0x28], ecx
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
cmp al, 0xb
jne case.0x48c023.3
movzx eax, word [esi + 0x48]
mov ecx, ebx
push 2
push eax
call fcn.00462790
jmp case.0x48c023.3
push 0x32
lea eax, [esi + 0x3c]
push eax
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
push edx
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x1e
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff1
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff1
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x30
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, 0xfffffff6
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x33
call fcn.00488120
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x24]
sub eax, dword [ecx + 0x1c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov esi, dword [ecx + 0x28]
mov eax, esi
sub eax, dword [ecx + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push esi
push dword [ecx + 0x24]
mov ecx, ebx
push 0x31
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0xa
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
jmp 0x48c8cc
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48dca1
dec eax
or eax, 0xfffffffc
inc eax
neg al
add edi, 0xfffffff6
movzx eax, al
add esi, 0xfffffff6
push eax
mov eax, dword [ebp - 0xc]
mov ecx, ebx
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 7
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48dd7e
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
add edi, 0xfffffff6
push eax
push 0
mov eax, dword [ebx + ecx]
add esi, 0xfffffff6
push 0
mov eax, dword [eax + 0x28]
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48ddd8
dec eax
or eax, 0xfffffffc
inc eax
neg al
add edi, 0xfffffff6
movzx eax, al
add esi, 0xfffffff6
push eax
mov eax, dword [ebp - 0xc]
mov ecx, ebx
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 6
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 5
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 5
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0xf
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x1e
push eax
push 5
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffb
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x23
push eax
push 5
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x14
push eax
push 5
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48e02d
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
add edi, 0xfffffff6
push eax
push 0
mov eax, dword [ebx + ecx]
add esi, 0xfffffff6
push 0
mov eax, dword [eax + 0x28]
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48e087
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
add edi, 0xfffffff6
push eax
push 0
mov eax, dword [ebx + ecx]
add esi, 0xfffffff6
push 0
mov eax, dword [eax + 0x28]
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48e0e1
dec eax
or eax, 0xfffffffc
inc eax
neg al
add edi, 0xfffffff6
movzx eax, al
add esi, 0xfffffff6
push eax
mov eax, dword [ebp - 0xc]
mov ecx, ebx
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, esi
push eax
push 8
call fcn.00488120
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 0xa
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0x28
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff6
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0xf
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x1e
push eax
push 0x28
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffa
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x23
push eax
push 0x28
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x14
push eax
push 0x28
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
dec eax
push eax
mov eax, dword [esi + 0x1c]
dec eax
push eax
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0x6e
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0
mov eax, dword [ecx + 0x20]
dec eax
push eax
mov eax, dword [ecx + 0x1c]
inc eax
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
mov ecx, ebx
push 0x6e
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0
mov eax, dword [ecx + 0x20]
inc eax
push eax
mov eax, dword [ecx + 0x1c]
inc eax
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
mov ecx, ebx
push 0x6e
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0x14
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.WS2_32.dll_closesocket
jns 0x48e28f
dec eax
or eax, 0xfffffffc
inc eax
neg al
add edi, 0xfffffff6
movzx eax, al
mov ecx, ebx
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x28]
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, 0xfffffff6
add eax, esi
push eax
push 8
call fcn.00488120
movsx eax, word [ebx + 0x18c176]
cdq
and edx, 0x1f
add edx, eax
mov eax, dword [ebx + edi]
sar edx, 5
mov ecx, dword [eax + 0x1c]
sub ecx, edx
sub ecx, 0xc
imul eax, ecx, 0x3e8
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x14]
cwde
push eax
push 1
push 0x45
call fcn.0045cfc0
mov ecx, dword [ebx + edi]
push 1
push 0
push 0
mov eax, dword [ecx + 0x20]
push 0
shl eax, 5
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
push eax
push 7
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle 0x48e34b
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0xa
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov eax, dword [ebx + edi]
mov ecx, 5
sub ecx, edx
mov dword [eax + 0x40], ecx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 5
idiv esi
mov eax, dword [ebx + edi]
sub ecx, edx
mov dword [eax + 0x44], ecx
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
push 1
push 0
push dword [esi + 0x20]
mov ecx, ebx
push dword [esi + 0x1c]
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0x89
call fcn.00488120
movsx eax, word [ebx + 0x18c176]
mov ecx, dword [ebx + edi]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
lea edi, [edx + eax]
sar edi, 5
mov eax, edi
sub eax, ebx
add eax, 0xc
cdq
xor eax, edx
sub eax, edx
movzx esi, ax
mov eax, dword [ebp - 0x10]
movsx eax, word [eax + 0x18c178]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub eax, dword [ecx + 0x20]
add eax, 9
cdq
xor eax, edx
sub eax, edx
mov edx, esi
movzx ecx, ax
cmp si, cx
mov eax, ecx
cmovle edx, eax
sub ebx, edi
sub ebx, 0xc
movzx esi, dx
imul eax, ebx, 0x3e8
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push eax
movsx eax, si
push eax
push 1
push 0x45
call fcn.0045cfc0
mov eax, esi
mov dword [ebp - 0x14], eax
jmp case.0x48c023.3
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0x29
call fcn.00488120
mov dword [ebp - 0xc], 0
nop dword [eax]
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x5a
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov al, byte [ebp - 0xc]
not al
add edx, 0xffffffd8
movzx eax, al
push 1
push eax
mov eax, dword [ebx + edi]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, 0xffffffd3
add eax, esi
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, edx
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, ebx
add edx, 0x29
push edx
call fcn.00488120
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0xe
jl 0x48e450
mov dword [ebp - 0xc], 0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x5a
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov al, 0xf5
sub al, byte [ebp - 0xc]
add edx, 0xffffffd8
movzx eax, al
push 1
push eax
mov eax, dword [ebx + edi]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, 0xffffffd3
add eax, esi
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, edx
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48e51e
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0x2d
mov ecx, ebx
push eax
call fcn.00488120
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 6
jl 0x48e4c4
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov ecx, dword [ebx + edi]
mov eax, ecx
push 1
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
sub eax, esi
add eax, 0x32
push eax
mov eax, dword [ecx + 0x1c]
shl eax, 5
sub eax, edx
add eax, 0x32
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push 0x10
mov ecx, ebx
call fcn.00488120
movsx eax, word [ebx + 0x18c176]
mov ecx, dword [ebx + edi]
cdq
and edx, 0x1f
mov ebx, dword [ecx + 0x1c]
lea edi, [edx + eax]
sar edi, 5
mov eax, edi
sub eax, ebx
add eax, 0xc
cdq
xor eax, edx
sub eax, edx
movzx esi, ax
mov eax, dword [ebp - 0x10]
movsx eax, word [eax + 0x18c178]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub eax, dword [ecx + 0x20]
add eax, 9
cdq
xor eax, edx
sub eax, edx
mov edx, esi
movzx ecx, ax
cmp si, cx
mov eax, ecx
cmovle edx, eax
sub ebx, edi
movzx esi, dx
sub ebx, 0xc
movsx eax, si
push ebx
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push eax
push 1
push 0x45
call fcn.0045cfc0
mov eax, esi
mov dword [ebp - 0x14], eax
jmp case.0x48c023.3
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 0x1e
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0xf
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x1e
push eax
push 0x1f
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffb
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x23
push eax
push 0x1f
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x14
push eax
push 0x1f
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
push 1
push 0
push 0
push 0
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
push 0xfc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0xf
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x1e
push eax
push 0xfc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffb
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x23
push eax
push 0xfc
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x14
push eax
push 0xfc
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0x38
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff6
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0xf
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x1e
push eax
push 0x38
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffa
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x23
push eax
push 0x38
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x1e
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x14
push eax
push 0x38
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
neg dl
movzx eax, dl
push eax
push 0
push 0
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffdd
add esi, 0xffffffce
mov eax, dword [ebx + ecx]
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x38
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffdd
neg dl
add esi, 0xffffffce
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x38
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffdd
neg dl
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov eax, dword [eax + 0x1c]
shl eax, 5
add esi, 0xffffffce
add eax, esi
mov ecx, ebx
push eax
push 0x38
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x46
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0xa
idiv ecx
add edi, 0xffffffdd
mov ecx, ebx
neg dl
movzx eax, dl
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, 0xffffffce
add eax, esi
push eax
push 0x38
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0x44
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, 1
jne case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x3c
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x3c
idiv ecx
mov ecx, dword [ebx + edi]
mov eax, ecx
push 1
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
sub eax, esi
add eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
shl eax, 5
sub eax, edx
add eax, 0x1e
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push 0x22
jmp 0x48e58e
mov eax, dword [esi + 0x20]
mov ecx, ebx
push 1
push 0
push 0
push 0
shl eax, 5
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
mov ecx, ebx
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebp - 0xc]
add edi, 0xffffffce
neg dl
add esi, 0xffffffd3
movzx eax, dl
push eax
mov eax, dword [ebx + ecx]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, esi
push eax
push 0x2c
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
add edi, 0xffffffce
mov ecx, ebx
neg dl
movzx eax, dl
push eax
mov eax, dword [ebp - 0xc]
push 0
push 0
mov eax, dword [ebx + eax]
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, edi
mov edi, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, 0xffffffd3
add eax, esi
push eax
push 0x2c
call fcn.00488120
mov dword [ebp - 0xc], 0
nop
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x6e
idiv ecx
mov al, byte [ebp - 0xc]
mov ecx, ebx
not al
add edx, 0xffffffd3
movzx eax, al
push 1
push eax
mov eax, dword [ebx + edi]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, 0xffffffce
add eax, esi
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, edx
push eax
push 0x2c
call fcn.00488120
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0x10
jl 0x48edf0
mov dword [ebp - 0xc], 0
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x5a
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x64
idiv ecx
mov al, 0xf5
sub al, byte [ebp - 0xc]
add edx, 0xffffffd8
movzx eax, al
push 1
push eax
mov eax, dword [ebx + edi]
push 0
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, 0xffffffd3
add eax, esi
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x1c]
shl eax, 5
add eax, edx
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48eeaf
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0x2d
mov ecx, ebx
push eax
call fcn.00488120
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 8
jl 0x48ee55
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
lea esi, [edx - 1]
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [ebx + edi]
mov eax, ecx
push 1
push 0
dec edx
mov eax, dword [eax + 0x20]
add eax, esi
push eax
mov eax, dword [ecx + 0x1c]
add eax, edx
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push 0x97
jmp 0x48e58e
push 0x28
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x1e
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x1e
idiv ecx
mov eax, dword [ebx + edi]
add esi, 0xfffffff1
push 1
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff1
add eax, esi
mov ecx, ebx
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x50
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x28]
add edx, 0xfffffff6
add eax, 0xfffffff6
add eax, esi
push 0
push eax
mov eax, dword [ebx + edi]
mov eax, dword [eax + 0x24]
add eax, edx
push eax
push 0x50
call fcn.00488120
mov ecx, dword [ebx + edi]
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jg 0x48c3b9
movsx eax, word [ebx + 0x18c176]
mov ebx, dword [ecx + 0x1c]
cdq
and edx, 0x1f
lea edi, [edx + eax]
sar edi, 5
mov eax, edi
sub eax, ebx
add eax, 0xc
cdq
xor eax, edx
sub eax, edx
movzx esi, ax
mov eax, dword [ebp - 0x10]
movsx eax, word [eax + 0x18c178]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
sub eax, dword [ecx + 0x20]
add eax, 9
cdq
xor eax, edx
sub eax, edx
mov edx, esi
movzx ecx, ax
cmp si, cx
mov eax, ecx
cmovle edx, eax
sub ebx, edi
movzx esi, dx
sub ebx, 0xc
movsx eax, si
sub eax, 0xf
jmp 0x48e5f1
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x78
idiv ecx
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x78
idiv ecx
mov ecx, dword [ebx + edi]
add esi, 0xffffffc4
mov eax, ecx
add edx, 0xffffffc4
push 1
push 0
mov eax, dword [eax + 0x20]
shl eax, 5
add eax, esi
push eax
mov eax, dword [ecx + 0x1c]
shl eax, 5
add eax, edx
push eax
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push 0x47
jmp 0x48e58e
push 0x32
lea eax, [esi + 0x3c]
push eax
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x28]
push ecx
lea edx, [esi + 0x24]
shl eax, 5
push edx
push eax
mov eax, dword [esi + 0x1c]
shl eax, 5
push eax
push dword [ecx]
lea ecx, [ebx + 0x14a908]
push dword [edx]
call fcn.00586130
mov esi, dword [ebx + edi]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
shl ecx, 5
sub eax, ecx
mov dword [ebp - 0x20], ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x48f0fa
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
shl ecx, 5
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jle case.0x48c023.253
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0x20]
push 1
push 0xfffffffffffffff9
push 0
shl eax, 5
push 0
sub eax, 0xf
push eax
lea eax, [ecx - 0x16]
mov ecx, ebx
push eax
push 0x23
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 7
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
sub eax, 0x16
push eax
push 0x24
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffb
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
sub eax, 0x16
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0x1b
push eax
push 0x24
call fcn.00488120
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
shl eax, 5
add eax, 0x16
push 0
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
shl eax, 5
add eax, 0xc
push eax
push 0x24
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, al
js case.0x48c023.3
add dword [esi + 0x28], 0xfffffff6
mov ecx, ebx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd8
call fcn.00488120
mov eax, dword [ebx + edi]
add dword [eax + 0x28], 0xfffffff6
mov eax, dword [ebx + edi]
mov ecx, ebx
push 0
push 0
push 0
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd8
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, al
js case.0x48c023.3
movsx eax, al
dec eax
cmp eax, 0x47
ja case.0x48c023.3
movzx eax, byte [eax + 0x490438]
jmp dword [eax*4 + 0x4903f0]
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
push 0
push 0
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd7
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
jmp 0x48f25b
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
push 0
push 0
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
add eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push 0
push 0
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
jmp 0x48f25b
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x40
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
jmp case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp case.0x48c023.3
cmp byte [ebx + 0x18dab3], 0
je 0x48f55b
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
add eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp 0x48f560
mov edi, 0xa
cmp byte [ebx + 0x18dab3], 0
je 0x48f5af
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
add eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd7
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x40
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
jmp case.0x48c023.3
cmp byte [ebx + 0x18dab3], 0
je 0x48f69d
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
jmp 0x48f6a2
mov edi, 0xa
cmp byte [ebx + 0x18dab3], 0
je 0x48f6eb
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd5
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
jmp 0x48f325
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x20
push eax
push dword [ecx + 0x28]
push dword [ecx + 0x24]
mov ecx, ebx
push 0xd6
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
sub eax, 0x20
jmp 0x48f372
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
jmp 0x48f24e
cmp byte [ebx + 0x18dab3], 0
je case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
add eax, 0x20
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x40
jmp 0x48f25b
cmp byte [ebx + 0x18dab3], 0
je case.0x48c023.3
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov eax, dword [ebp - 8]
push 0
push 0
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov eax, ecx
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
mov eax, dword [ecx + 0x1c]
sub eax, edx
sub eax, 0x40
jmp 0x48f25b
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
mov edi, 0xa
jmp 0x48f6f0
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle 0x48f986
push 1
push 0
push 0
push 0
push dword [esi + 0x20]
mov ecx, ebx
push dword [esi + 0x1c]
push 0x1e
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48f8e5
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
push 0
sub eax, 0xf
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
sub eax, 0x1e
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48f8e5
mov esi, dword [ebp - 8]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 0
mov eax, dword [ecx + 0x20]
sub eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x23
push eax
push 0x1f
call fcn.00488120
jmp 0x48f8e8
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
push 0
add eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x14
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48f93a
mov eax, dword [ebx + esi*4 + 0x184c2c]
mov ecx, ebx
push 0
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd9
call fcn.00488120
mov eax, dword [ebp - 8]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [ebx + eax*4 + 0x184c2c]
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push 0xda
call fcn.00488120
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
test ecx, ecx
je 0x48ff89
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + esi*4 + 0x184c2c], 0
jmp 0x48c3cd
test al, al
js case.0x48c023.3
add dword [esi + 0x24], 0xffffffe2
mov ecx, ebx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
add dword [eax + 0x28], 0x2e
mov eax, dword [ebx + edi]
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd2
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle 0x48fade
push 1
push 0
push 0
push 0
push dword [esi + 0x20]
mov ecx, ebx
push dword [esi + 0x1c]
push 0x1e
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fa3d
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
push 0
sub eax, 0xf
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
sub eax, 0x1e
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fa3d
mov esi, dword [ebp - 8]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 0
mov eax, dword [ecx + 0x20]
sub eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x23
push eax
push 0x1f
call fcn.00488120
jmp 0x48fa40
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
push 0
add eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x14
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fa92
mov eax, dword [ebx + esi*4 + 0x184c2c]
mov ecx, ebx
push 0
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd9
call fcn.00488120
mov eax, dword [ebp - 8]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [ebx + eax*4 + 0x184c2c]
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push 0xda
call fcn.00488120
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
test ecx, ecx
je 0x48ff89
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + esi*4 + 0x184c2c], 0
jmp 0x48c3cd
test al, al
js case.0x48c023.3
add dword [esi + 0x24], 0x1e
mov ecx, ebx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
add dword [eax + 0x28], 0x2e
mov eax, dword [ebx + edi]
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd3
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle 0x48fc36
push 1
push 0
push 0
push 0
push dword [esi + 0x20]
mov ecx, ebx
push dword [esi + 0x1c]
push 0x1e
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fb95
mov ecx, dword [ebx + edi]
push 1
push 0xfffffffffffffff9
push 0
mov eax, dword [ecx + 0x20]
push 0
sub eax, 0xf
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
sub eax, 0x1e
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fb95
mov esi, dword [ebp - 8]
push 1
push 0xfffffffffffffffb
push 0
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 0
mov eax, dword [ecx + 0x20]
sub eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x23
push eax
push 0x1f
call fcn.00488120
jmp 0x48fb98
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
push 1
push 0xfffffffffffffffd
push 0
mov eax, dword [ecx + 0x20]
push 0
add eax, 0x1e
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, ebx
add eax, 0x14
push eax
push 0x1f
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fbea
mov eax, dword [ebx + esi*4 + 0x184c2c]
mov ecx, ebx
push 0
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd9
call fcn.00488120
mov eax, dword [ebp - 8]
mov ecx, ebx
push 1
push 0
push 0
mov eax, dword [ebx + eax*4 + 0x184c2c]
push 0
push dword [eax + 0x20]
push dword [eax + 0x1c]
push 0xda
call fcn.00488120
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + esi*4 + 0x184c2c]
test ecx, ecx
je 0x48ff89
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebx + esi*4 + 0x184c2c], 0
jmp 0x48c3cd
test al, al
js case.0x48c023.3
add dword [esi + 0x24], 0xfffffff6
mov ecx, ebx
mov eax, dword [ebx + edi]
push 0
push 0
push 0
add dword [eax + 0x28], 0x2e
mov eax, dword [ebx + edi]
push 0
push dword [eax + 0x28]
push dword [eax + 0x24]
push 0xd4
call fcn.00488120
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
test al, al
js case.0x48c023.3
add dword [esi + 0x28], 0xffffffec
jmp 0x48f1d2
cmp byte [esi + 6], 1
jne 0x48fe72
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48fcbe
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48fd18
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48fd72
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fe72
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48fdd9
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xc]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48fe72
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov esi, 0xa
idiv esi
mov edi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv esi
push 1
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x48fe3c
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 8]
neg al
movzx eax, al
push eax
push 0
mov eax, dword [ebx + ecx*4 + 0x184c2c]
push 0
mov eax, dword [eax + 0x28]
sub eax, edi
add eax, 5
push eax
mov eax, dword [ebx + ecx*4 + 0x184c2c]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, esi
add eax, 5
push eax
push 0xc
call fcn.00488120
mov eax, dword [ebp - 8]
mov eax, dword [ebx + eax*4 + 0x184c2c]
cmp byte [eax + 6], 7
jne 0x48ff66
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov edi, 0xa
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov ecx, dword [ebp - 8]
push 1
push 0
push 0
mov eax, dword [ebx + ecx*4 + 0x184c2c]
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push eax
mov eax, dword [ebx + ecx*4 + 0x184c2c]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
call fcn.00488120
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov ecx, dword [ebp - 8]
push 1
push 0
push 0
mov eax, dword [ebx + ecx*4 + 0x184c2c]
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push eax
mov eax, dword [ebx + ecx*4 + 0x184c2c]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
call fcn.00488120
cmp byte [ebx + 0x18dab3], 0
je 0x48ff66
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov esi, edx
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
idiv edi
mov ecx, dword [ebp - 8]
push 1
push 0
push 0
mov eax, dword [ebx + ecx*4 + 0x184c2c]
push 0
mov eax, dword [eax + 0x28]
sub eax, esi
add eax, 5
push eax
mov eax, dword [ebx + ecx*4 + 0x184c2c]
mov ecx, ebx
mov eax, dword [eax + 0x24]
sub eax, edx
add eax, 5
push eax
push 0xf
call fcn.00488120
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + eax*4 + 0x184c2c]
mov al, byte [ecx + 6]
cmp al, byte [ecx + 7]
jle case.0x48c023.3
test ecx, ecx
je 0x48ff86
mov eax, dword [ecx]
push 1
call dword [eax]
mov esi, dword [ebp - 8]
mov dword [ebx + esi*4 + 0x184c2c], 0
jmp 0x48c3cd
push 0x64
lea eax, [esi + 0x3c]
push eax
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x2c]
push eax
push dword [esi + 0x20]
lea ecx, [ebx + 0x14a908]
push dword [esi + 0x1c]
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.00586130
mov ecx, dword [ebx + edi]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x1c]
jl 0x48ffef
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0xc]
mov edi, edx
mov eax, dword [ebx + eax]
mov esi, dword [eax + 0x30]
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
mov dword [ebp - 0x20], 0xe2
jmp 0x490013
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0xc]
mov edi, edx
mov eax, dword [ebx + eax]
mov esi, dword [eax + 0x30]
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
mov dword [ebp - 0x20], 0xe3
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0xc]
push 1
push 0
mov eax, dword [ebx + eax]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0x2c]
lea eax, [esi + edi]
add ecx, edx
add eax, 0xfffffff6
push eax
lea eax, [ecx - 0xa]
mov ecx, ebx
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.00488120
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebx + edx]
mov eax, dword [ecx + 0x2c]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebx + edx]
mov eax, dword [ecx + 0x30]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebx + edx]
mov eax, dword [ecx + 0x24]
sub eax, dword [ecx + 0x1c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
mov eax, dword [ecx + 0x28]
sub eax, dword [ecx + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg case.0x48c023.3
jmp 0x48ff7c
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
push 1
push 0
push dword [esi + 0x20]
mov ecx, ebx
push dword [esi + 0x1c]
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0xe4
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jg case.0x48c023.253
mov eax, dword [esi + 0x14]
lea edx, [ebx + 0x14a908]
mov dword [esi + 0x2c], eax
mov ecx, dword [ebx + edi]
mov esi, dword [ebp - 0xc]
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x30], eax
mov eax, dword [ebx + edi]
mov edi, 0x14
mov dword [eax + 0x3c], 0
nop dword [eax]
mov ecx, dword [ebx + esi]
push edi
lea eax, [ecx + 0x3c]
push eax
lea eax, [ecx + 0x28]
push eax
lea eax, [ecx + 0x24]
push eax
push dword [ecx + 0x20]
push dword [ecx + 0x1c]
push dword [ecx + 0x18]
push dword [ecx + 0x14]
mov ecx, edx
call fcn.00586130
mov esi, dword [ebx + esi]
mov eax, dword [esi + 0x2c]
sub eax, dword [esi + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jge 0x490146
mov eax, dword [esi + 0x30]
sub eax, dword [esi + 0x28]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jl 0x490174
push 1
push 0
push 0
push 0
push dword [esi + 0x28]
mov ecx, ebx
push dword [esi + 0x24]
push 0xa
call fcn.00488120
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebx + esi]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + esi]
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x30], eax
jmp 0x490177
mov esi, dword [ebp - 0xc]
add edi, 0x14
lea edx, [ebx + 0x14a908]
cmp edi, 0x64
jle 0x490100
jmp case.0x48c023.3
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
push 0
push 0
push 0
push 0
push 0
lea eax, [ecx + 2]
mov ecx, ebx
push 0
push eax
call fcn.00488120
mov ecx, dword [ebx + edi]
jmp 0x48c3b9
mov al, byte [esi + 6]
cmp al, byte [esi + 7]
jle case.0x48c023.3
test esi, esi
je 0x48ff86
mov eax, dword [esi]
mov ecx, esi
jmp 0x48ff82