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

Disassembly:
sub esp, 0xc8
push ebx
push ebp
mov eax, 0x6f
push esi
xor esi, esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
push edi
mov ecx, 0xfa
mov eax, 0x129
mov ebp, 1
push esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], 0x116
mov dword [esp + 0x90], 0x131
mov dword [esp + 0x98], 0x14e
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0xff
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x117
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0x12f
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0x147
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], 2
mov dword [esp + 0x64], 0xfe
mov dword [esp + 0x68], 6
mov dword [esp + 0x6c], 0xf9
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], 0xfb
mov dword [esp + 0x78], 3
mov dword [esp + 0x2c], 0x6644
mov dword [esp + 0x30], 0x6645
mov dword [esp + 0x34], 0x6646
mov dword [esp + 0x38], 0x6647
mov dword [esp + 0x18], esi
call fcn.00411990
mov eax, dword [0x455abcc]
add esp, 4
cmp eax, esi
jne 0x4235e8
mov ecx, 0x16
mov eax, 0xfffffffe
mov edi, 0x4b8370
rep stosd dword es:[edi], eax
mov eax, ebp
mov dword [0x455abcc], eax
or ebx, 0xffffffff
cmp eax, ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
jne 0x4239db
mov edi, 2
push 0x455b240
mov dword [esp + 0x18], edi
call fcn.00411990
push 0x16
push 0x4b8370
call fcn.00421020
mov esi, eax
push 0x16
push 0x4b8370
mov dword [esp + 0x30], esi
call fcn.00421050
xor ecx, ecx
add esp, 0x14
mov ebx, eax
cmp esi, ecx
mov dword [esp + 0x10], ebx
jne 0x4237c7
mov dl, byte [0x455b347]
test dl, dl
ja 0x423658
mov dword [0x455abcc], 0x64
jmp 0x4239e4
cmp dword [0x4552e20], ecx
jle 0x42366f
mov dword [0x455abcc], 0x68
jmp 0x423a92
cmp dword [0x455b0e8], ecx
jle 0x423686
mov dword [0x455abcc], 0x6a
jmp 0x423ae9
mov edi, 0x455b240
or ecx, 0xffffffff
xor eax, eax
push 0x455b240
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4630b08
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov cl, dl
mov byte [ecx + 0x4630b08], 0
call fcn.004789d0
add esp, 4
test eax, eax
je 0x4236d6
mov dword [0x455abcc], 0x66
jmp 0x423a3b
push 0x4a266c
push 0x4630b08
call fcn.00492020
add esp, 8
test eax, eax
jne 0x4237b8
push 0x4b9028
push 0x4630b08
call fcn.00492020
add esp, 8
test eax, eax
jne 0x4237b8
mov ecx, dword [0x454f68c]
mov dword [esp + 0x20], ebp
mov dword [0x462be80], 0
mov eax, dword [ecx*4 + 0x455663c]
mov esi, dword [ecx*4 + 0x4b820c]
lea edx, [eax + eax*4]
lea eax, [eax + ecx*4 + 0x4b0]
mov ecx, dword [0x454f688]
add esi, edx
mov dword [0x462403c], esi
lea edx, [ecx + eax*4]
mov ecx, dword [0x455eef0]
add eax, edx
lea edx, [ecx + eax*4]
mov ecx, dword [0x454ffcc]
add eax, edx
mov edx, dword [0x454ffd0]
mov dword [0x462ac08], eax
mov eax, dword [0x454ffc8]
mov dword [0x4627448], eax
mov eax, dword [0x454ffd4]
mov dword [0x462744c], ecx
mov ecx, dword [0x454e0e0]
mov dword [0x4624038], edx
mov edx, dword [0x454e0e4]
mov dword [0x4627450], eax
mov eax, dword [0x454e0e8]
mov dword [0x462abd0], ecx
mov ecx, dword [0x454e0ec]
mov dword [0x46309e0], edx
mov dword [0x4627454], eax
mov dword [0x46253c0], ecx
jmp 0x4239c4
mov dword [0x455abcc], 0x6c
jmp 0x423b3d
cmp esi, ebp
jne 0x4237d4
mov dword [esp + 0x20], edi
jmp 0x4239c4
cmp esi, edi
jl 0x423855
cmp esi, 9
jg 0x423855
lea eax, [esi - 2]
mov edx, eax
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x4237ef
dec edx
or edx, 0xfffffffe
inc edx
jne 0x423821
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [eax*4 + 0x454ffc8]
lea eax, [eax*4 + 0x454ffc8]
test ecx, ecx
jle 0x4239db
mov edi, dword [0x4552e20]
dec ecx
inc edi
mov dword [eax], ecx
mov dword [0x4552e20], edi
jmp 0x4239c4
cmp dword [0x4552e20], ecx
jle 0x4239db
cdq
sub eax, edx
mov edi, dword [0x4552e20]
sar eax, 1
mov ecx, dword [eax*4 + 0x454ffc8]
lea eax, [eax*4 + 0x454ffc8]
inc ecx
dec edi
mov dword [eax], ecx
mov dword [0x4552e20], edi
jmp 0x4239c4
cmp esi, 0xa
jl 0x423940
cmp esi, 0x11
jg 0x423940
lea eax, [esi - 0xa]
mov ecx, eax
and ecx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x423879
dec ecx
or ecx, 0xfffffffe
inc ecx
cdq
jne 0x4238ab
sub eax, edx
sar eax, 1
mov ecx, dword [eax*4 + 0x454e0e0]
lea eax, [eax*4 + 0x454e0e0]
test ecx, ecx
jle 0x4239db
mov edi, dword [0x455b0e8]
dec ecx
inc edi
mov dword [eax], ecx
mov dword [0x455b0e8], edi
jmp 0x4239c4
sub eax, edx
sar eax, 1
cmp eax, edi
lea ecx, [eax + 2]
jl 0x4238b9
lea ecx, [eax - 2]
mov edx, dword [ecx*4 + 0x454e0e0]
test edx, edx
jne 0x4239db
mov ecx, dword [0x455b0e8]
test ecx, ecx
jle 0x4238f3
mov ecx, dword [eax*4 + 0x454e0e0]
mov edi, dword [0x455b0e8]
inc ecx
dec edi
mov dword [eax*4 + 0x454e0e0], ecx
mov dword [0x455b0e8], edi
jmp 0x4239c4
xor ecx, ecx
mov edx, 0x454e0e0
cmp ecx, eax
je 0x423903
cmp dword [edx], 0
jg 0x423914
add edx, 4
inc ecx
cmp edx, 0x454e0f0
jl 0x4238fa
jmp 0x4239db
cmp ecx, 4
jge 0x4239db
mov edx, dword [eax*4 + 0x454e0e0]
inc edx
mov dword [eax*4 + 0x454e0e0], edx
mov edi, dword [ecx*4 + 0x454e0e0]
dec edi
mov dword [ecx*4 + 0x454e0e0], edi
jmp 0x4239c4
cmp esi, 0x12
je 0x42398f
cmp esi, 0x13
je 0x4239ac
cmp esi, 0x14
je 0x42396a
cmp esi, 0x15
jne 0x4239db
mov eax, dword [0x455eef0]
cmp eax, 4
jge 0x423987
inc eax
mov dword [0x455eef0], eax
jmp 0x4239c4
mov eax, dword [0x455eef0]
cmp eax, ecx
jle 0x42397b
dec eax
mov dword [0x455eef0], eax
jmp 0x4239c4
mov dword [0x455eef0], 4
jmp 0x4239c4
mov dword [0x455eef0], ecx
jmp 0x4239c4
mov eax, dword [0x454f688]
cmp eax, ecx
jle 0x4239a0
dec eax
mov dword [0x454f688], eax
jmp 0x4239c4
mov dword [0x454f688], 4
jmp 0x4239c4
mov eax, dword [0x454f688]
cmp eax, 4
jge 0x4239be
inc eax
mov dword [0x454f688], eax
jmp 0x4239c4
mov dword [0x454f688], ecx
push 0xf0
push 0x140
push 0xd9
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x64
jne 0x423a0d
call fcn.00420e10
mov edi, dword [0x455abcc]
push 0xf0
inc edi
push 0x140
push 0xdc
mov dword [0x455abcc], edi
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x65
jne 0x423a32
push 0x4b9018
call fcn.00420e20
add esp, 4
test eax, eax
je 0x423a32
mov dword [0x455abcc], ebp
jmp 0x423b94
cmp dword [0x455abcc], 0x66
jne 0x423a64
call fcn.00420e10
mov edi, dword [0x455abcc]
push 0xf0
inc edi
push 0x140
push 0xdc
mov dword [0x455abcc], edi
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x67
jne 0x423a89
push 0x4b8ffc
call fcn.00420e20
add esp, 4
test eax, eax
je 0x423a89
mov dword [0x455abcc], ebp
jmp 0x423b94
cmp dword [0x455abcc], 0x68
jne 0x423abb
call fcn.00420e10
mov edi, dword [0x455abcc]
push 0xf0
inc edi
push 0x140
push 0xdc
mov dword [0x455abcc], edi
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x69
jne 0x423ae0
push 0x4b8fe0
call fcn.00420e20
add esp, 4
test eax, eax
je 0x423ae0
mov dword [0x455abcc], ebp
jmp 0x423b94
cmp dword [0x455abcc], 0x6a
jne 0x423b12
call fcn.00420e10
mov edi, dword [0x455abcc]
push 0xf0
inc edi
push 0x140
push 0xdc
mov dword [0x455abcc], edi
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x6b
jne 0x423b34
push 0x4b8fc4
call fcn.00420e20
add esp, 4
test eax, eax
je 0x423b34
mov dword [0x455abcc], ebp
jmp 0x423b94
cmp dword [0x455abcc], 0x6c
jne 0x423b66
call fcn.00420e10
mov edi, dword [0x455abcc]
push 0xf0
inc edi
push 0x140
push 0xdc
mov dword [0x455abcc], edi
call fcn.00488190
add esp, 0xc
cmp dword [0x455abcc], 0x6d
jne 0x423b88
push 0x4b8fac
call fcn.00420e20
add esp, 4
test eax, eax
je 0x423b88
mov dword [0x455abcc], ebp
jmp 0x423b94
cmp dword [0x455abcc], ebp
jne 0x423c9a
push 0x16
push 0x4b8370
call fcn.004210b0
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x423bb5
push 0x4b8f98
jmp 0x423c90
cmp eax, ebp
jne 0x423bc3
push 0x4b8d90
jmp 0x423c90
cmp eax, 2
jl 0x423c12
cmp eax, 9
jg 0x423c12
add eax, 0xfffffffe
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
jne 0x423be5
push 0x4b8f80
jmp 0x423c90
cmp eax, ebp
jne 0x423bf3
push 0x4b8f68
jmp 0x423c90
cmp eax, 2
jne 0x423c02
push 0x4b8f50
jmp 0x423c90
cmp eax, 3
jne 0x423c9a
push 0x4b8f2c
jmp 0x423c90
cmp eax, 0xa
jl 0x423c54
cmp eax, 0x11
jg 0x423c54
add eax, 0xfffffff6
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
jne 0x423c31
push 0x4b8f04
jmp 0x423c90
cmp eax, ebp
jne 0x423c3c
push 0x4b8edc
jmp 0x423c90
cmp eax, 2
jne 0x423c48
push 0x4b8eb4
jmp 0x423c90
cmp eax, 3
jne 0x423c9a
push 0x4b8e8c
jmp 0x423c90
cmp eax, 0x12
je 0x423c76
cmp eax, 0x13
je 0x423c76
cmp eax, 0x14
je 0x423c6f
cmp eax, 0x15
je 0x423c6f
push 0x4b8e68
jmp 0x423c90
push 0x4b8e54
jmp 0x423c90
mov eax, dword [0x454f68c]
test eax, eax
je 0x423c8b
cmp eax, 6
je 0x423c8b
push 0x4b8e40
jmp 0x423c90
push 0x4b8e2c
push 0
call fcn.0041f1a0
add esp, 8
push 0x455b240
call fcn.0041d890
mov eax, dword [0x454f68c]
mov ecx, dword [0x454f688]
push 0
mov edx, dword [eax*4 + 0x455663c]
lea eax, [edx + eax*4 + 0x4b0]
lea edx, [ecx + eax*4]
mov ecx, dword [0x455eef0]
add eax, edx
lea edx, [ecx + eax*4]
add eax, edx
push eax
push 0
push 0xac
push 0x5d
call fcn.0047e210
mov eax, dword [0x4552e20]
lea ecx, [esp + 0xb0]
push eax
push 0x4a1410
push ecx
call fcn.004923a7
lea edx, [esp + 0xbc]
push 0
push edx
push 0
push 0
push 0xe0
push 0xa1
call fcn.0041d860
add esp, 0x3c
lea edi, [esp + 0x78]
mov esi, 0x454ffc8
mov eax, dword [esi]
lea ecx, [esp + 0x98]
push eax
push 0x4a1410
push ecx
call fcn.004923a7
mov eax, dword [edi + 4]
mov ecx, dword [edi]
lea edx, [esp + 0xa4]
push 0
push edx
push 0
push 0
push eax
push ecx
call fcn.0041d860
add esi, 4
add esp, 0x24
add edi, 8
cmp esi, 0x454ffd8
jl 0x423d1f
mov edx, dword [0x455b0e8]
lea eax, [esp + 0x98]
push edx
push 0x4a1410
push eax
call fcn.004923a7
lea ecx, [esp + 0xa4]
push 0
push ecx
push 0
push 0
push 0xe0
push 0x15e
call fcn.0041d860
mov eax, 0x454e0e0
add esp, 0x24
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], 0
mov ecx, dword [eax]
test ecx, ecx
jle 0x423e25
mov eax, dword [esp + 0x18]
push 1
mov edi, dword [esp + eax + 0x40]
mov esi, dword [esp + eax + 0x3c]
mov edx, dword [esp + eax + 0x5c]
lea ebx, [edi + 8]
push edx
lea ebp, [esi + ecx*8]
push 0x67
push ebx
push ebp
push edi
push esi
call fcn.0047e640
mov eax, dword [esp + 0x34]
push 0
lea ecx, [ebx + 1]
lea edx, [ebp + 1]
mov eax, dword [esp + eax + 0x7c]
push eax
push 0x66
push ecx
lea eax, [edi + 1]
push edx
lea ecx, [esi + 1]
push eax
push ecx
call fcn.0047e640
mov edx, dword [esp + 0x50]
push 0
add ebx, 2
add ebp, 2
mov eax, dword [esp + edx + 0x98]
add edi, 2
push eax
push 0x66
push ebx
push ebp
add esi, 2
push edi
push esi
call fcn.0047e640
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
add esp, 0x54
mov edx, dword [esp + 0x18]
add eax, 4
add edx, 8
cmp eax, 0x454e0f0
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x423da9
mov esi, dword [esp + 0x14]
push esi
push 0x716d
push 0xa
push 0x19a
push 0x60
call fcn.0047e210
push esi
push 0x716e
push 0xa
push 0x19a
push 0xc0
mov dword [0x4b8370], eax
call fcn.0047e210
add esp, 0x28
mov dword [0x4b8374], eax
xor esi, esi
jmp 0x423e86
mov ebx, dword [esp + 0x10]
xor ecx, ecx
xor ebp, ebp
cmp ebx, 2
jl 0x423ebd
cmp ebx, 9
jg 0x423ebd
lea edi, [ebx - 2]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp eax, esi
jne 0x423ebd
and edi, reloc.DSOUND.dll_DirectSoundCreate
jns 0x423eaf
dec edi
or edi, 0xfffffffe
inc edi
jne 0x423eb8
mov ecx, 1
jmp 0x423ebd
mov ebp, 1
mov eax, dword [esp + esi*8 + 0x7c]
mov ebx, dword [esp + esi*8 + 0x78]
mov ecx, dword [esp + ecx*4 + 0x28]
lea edi, [eax + 8]
mov eax, dword [esp + 0x14]
push eax
push ecx
push 0xa
lea edx, [ebx + 0x33]
push edi
push edx
call fcn.0047e210
mov ecx, dword [esp + ebp*4 + 0x44]
mov dword [esi*8 + 0x4b8378], eax
mov eax, dword [esp + 0x28]
add ebx, 0x57
push eax
push ecx
push 0xa
push edi
push ebx
call fcn.0047e210
add esp, 0x28
mov dword [esi*8 + 0x4b837c], eax
inc esi
cmp esi, 4
jl 0x423e82
xor esi, esi
mov eax, 0xfffffffe
test esi, esi
jne 0x423f2a
mov ecx, dword [0x454e0e8]
test ecx, ecx
je 0x423fd3
jmp 0x423f3d
cmp esi, 1
jne 0x423fac
mov ecx, dword [0x454e0ec]
test ecx, ecx
je 0x423fd3
mov dword [esi*8 + 0x4b8398], eax
mov dword [esi*8 + 0x4b839c], eax
inc esi
cmp esi, 4
jl 0x423f16
xor ebp, ebp
mov edi, 0x4b83bc
mov esi, 0xac
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor ebx, ebx
cmp eax, 0x12
jl 0x42406a
cmp eax, 0x15
jg 0x42406a
mov edx, eax
lea eax, [edx - 0x12]
cdq
sub eax, edx
sar eax, 1
cmp eax, ebp
jne 0x42406a
mov eax, dword [esp + 0x10]
add eax, 0xffffffee
and eax, reloc.DSOUND.dll_DirectSoundCreate
jns 0x423f9c
dec eax
or eax, 0xfffffffe
inc eax
jne 0x424065
mov ecx, 1
jmp 0x42406a
cmp esi, 2
jne 0x423fbc
mov ecx, dword [0x454e0e0]
jmp 0x423f35
cmp esi, 3
jne 0x423f3d
mov ecx, dword [0x454e0e4]
test ecx, ecx
jne 0x423f3d
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor ebp, ebp
cmp eax, 0xa
jl 0x424010
cmp dword [esp + 0x1c], 0x11
jg 0x424010
lea edi, [eax - 0xa]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cmp eax, esi
jne 0x424010
and edi, reloc.DSOUND.dll_DirectSoundCreate
jns 0x424002
dec edi
or edi, 0xfffffffe
inc edi
jne 0x42400b
mov ecx, 1
jmp 0x424010
mov ebp, 1
mov eax, dword [esp + esi*8 + 0x3c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + esi*8 + 0x38]
push edx
lea edi, [eax + 5]
mov eax, dword [esp + ecx*4 + 0x2c]
push eax
push 0xa
lea ecx, [ebx + 0x65]
push edi
push ecx
call fcn.0047e210
mov edx, dword [esp + 0x28]
mov dword [esi*8 + 0x4b8398], eax
mov eax, dword [esp + ebp*4 + 0x44]
push edx
push eax
push 0xa
add ebx, 0x89
push edi
push ebx
call fcn.0047e210
mov dword [esi*8 + 0x4b839c], eax
add esp, 0x28
mov eax, 0xfffffffe
jmp 0x423f4b
mov ebx, 1
mov edx, dword [esp + 0x14]
mov eax, dword [esp + ecx*4 + 0x28]
push edx
push eax
push 0xa
push esi
push 0x9c
call fcn.0047e210
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + ebx*4 + 0x44]
push ecx
push edx
push 0xa
push esi
push 0x104
mov dword [edi - 4], eax
call fcn.0047e210
add esp, 0x28
mov dword [edi], eax
add esi, 0x18
inc ebp
add edi, 8
cmp esi, 0xdc
jl 0x423f5d
mov eax, dword [0x454f68c]
pop edi
pop esi
pop ebp
test eax, eax
pop ebx
je 0x4240ce
cmp eax, 6
je 0x4240ce
push 0
push 0x7174
jmp 0x4240d5
push 0
push 0x7175
push 0xa
push 0xf0
push 0x140
call fcn.0047e210
add esp, 0x14
push 0
push 0x7167
push 0
push 0xf0
push 0x140
call fcn.0047e210
call fcn.00401170
call fcn.0047e440
call fcn.00410b00
call fcn.0041f1e0
mov eax, dword [esp + 0x24]
add esp, 0xdc
ret