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

Disassembly:
sub esp, 0x54
push ebx
push esi
mov dword [esp + 0x20], 1
push edi
push ebp
lea ebp, [esp + 0x3c]
xor edi, edi
mov word [esp + 0x12], di
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
xor ecx, ecx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], esi
mov al, byte [esi]
cmp al, 0x20
je 0x4a4be6
cmp al, 9
je 0x4a4be6
cmp al, 0xa
je 0x4a4be6
cmp al, 0xd
jne 0x4a4be9
inc esi
jmp 0x4a4bd4
mov bl, byte [esi]
inc esi
cmp ecx, 0xb
ja case.0x4a4bf5.10
jmp dword [ecx*4 + 0x4a51b8]
cmp bl, 0x31
jl 0x4a4c10
cmp bl, 0x39
jg 0x4a4c10
mov ecx, 3
jmp 0x4a5044
cmp byte [0x4ce6e0], bl
jne 0x4a4c22
mov ecx, 5
jmp case.0x4a4bf5.10
movsx eax, bl
cmp eax, 0x2b
je 0x4a4c39
cmp eax, 0x2d
je 0x4a4c4a
cmp eax, 0x30
je 0x4a4c5b
jmp case.0x4a4caa.48
mov word [esp + 0x12], 0
mov ecx, 2
jmp case.0x4a4bf5.10
mov word [esp + 0x12], 0x8000
mov ecx, 2
jmp case.0x4a4bf5.10
mov ecx, 1
jmp case.0x4a4bf5.10
mov dword [esp + 0x20], 1
cmp bl, 0x31
jl 0x4a4c81
cmp bl, 0x39
jg 0x4a4c81
mov ecx, 3
jmp 0x4a5044
cmp byte [0x4ce6e0], bl
jne 0x4a4c93
mov ecx, 4
jmp case.0x4a4bf5.10
movsx ecx, bl
sub ecx, 0x2b
cmp ecx, 0x3a
ja case.0x4a4caa.48
xor eax, eax
mov al, byte [ecx + 0x4a5200]
jmp dword [eax*4 + 0x4a51e8]
dec esi
mov ecx, 0xb
jmp case.0x4a4bf5.10
mov ecx, 1
jmp case.0x4a4bf5.10
mov ecx, 6
jmp case.0x4a4bf5.10
cmp bl, 0x31
jl 0x4a4ce4
cmp bl, 0x39
jg 0x4a4ce4
mov ecx, 3
jmp 0x4a5044
cmp byte [0x4ce6e0], bl
jne 0x4a4cf6
mov ecx, 5
jmp case.0x4a4bf5.10
movsx eax, bl
cmp eax, 0x30
je 0x4a4d0c
mov ecx, 0xa
mov esi, dword [esp + 0x18]
jmp case.0x4a4bf5.10
mov ecx, 1
jmp case.0x4a4bf5.10
mov dword [esp + 0x20], 1
cmp dword [0x4ce6dc], 1
jle 0x4a4d38
push 4
xor eax, eax
mov al, bl
push eax
call fcn.004a0340
add esp, 8
jmp 0x4a4d4b
xor ecx, ecx
mov edx, dword [str.________________________________H]
mov cl, bl
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 4
test eax, eax
je 0x4a4d70
cmp dword [esp + 0x14], 0x19
jae 0x4a4d67
sub bl, 0x30
inc ebp
inc esi
inc dword [esp + 0x14]
mov byte [ebp - 1], bl
mov bl, byte [esi - 1]
jmp 0x4a4d1e
mov bl, byte [esi]
inc esi
inc dword [esp + 0x1c]
jmp 0x4a4d1e
cmp byte [0x4ce6e0], bl
jne 0x4a4d82
mov ecx, 4
jmp case.0x4a4bf5.10
movsx ecx, bl
sub ecx, 0x2b
cmp ecx, 0x3a
ja case.0x4a4caa.48
xor eax, eax
mov al, byte [ecx + 0x4a5250]
jmp dword [eax*4 + 0x4a523c]
dec esi
mov ecx, 0xb
jmp case.0x4a4bf5.10
mov ecx, 6
jmp case.0x4a4bf5.10
mov dword [esp + 0x20], 1
mov dword [esp + 0x30], 1
cmp dword [esp + 0x14], 0
jne 0x4a4ddd
cmp bl, 0x30
jne 0x4a4ddd
mov bl, byte [esi]
inc esi
dec dword [esp + 0x1c]
cmp bl, 0x30
je 0x4a4dd1
cmp dword [0x4ce6dc], 1
jle 0x4a4df7
push 4
xor eax, eax
mov al, bl
push eax
call fcn.004a0340
add esp, 8
jmp 0x4a4e0a
xor ecx, ecx
mov edx, dword [str.________________________________H]
mov cl, bl
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 4
test eax, eax
je 0x4a4e29
cmp dword [esp + 0x14], 0x19
jae 0x4a4e24
sub bl, 0x30
inc ebp
inc dword [esp + 0x14]
dec dword [esp + 0x1c]
mov byte [ebp - 1], bl
mov bl, byte [esi]
inc esi
jmp 0x4a4ddd
movsx ecx, bl
sub ecx, 0x2b
cmp ecx, 0x3a
ja case.0x4a4caa.48
xor eax, eax
mov al, byte [ecx + 0x4a52a0]
jmp dword [eax*4 + 0x4a528c]
dec esi
mov ecx, 0xb
jmp case.0x4a4bf5.10
mov ecx, 6
jmp case.0x4a4bf5.10
mov dword [esp + 0x30], 1
cmp dword [0x4ce6dc], 1
jle 0x4a4e7e
push 4
xor eax, eax
mov al, bl
push eax
call fcn.004a0340
add esp, 8
jmp 0x4a4e91
xor ecx, ecx
mov edx, dword [str.________________________________H]
mov cl, bl
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 4
test eax, eax
je 0x4a4e9f
mov ecx, 4
jmp 0x4a5044
mov ecx, 0xa
mov esi, dword [esp + 0x18]
jmp case.0x4a4bf5.10
lea eax, [esi - 2]
cmp bl, 0x31
mov dword [esp + 0x18], eax
jl 0x4a4ec8
cmp bl, 0x39
jg 0x4a4ec8
mov ecx, 9
jmp 0x4a5044
movsx eax, bl
cmp eax, 0x2b
je 0x4a4ee8
cmp eax, 0x2d
je 0x4a4ef2
cmp eax, 0x30
je 0x4a4f04
mov ecx, 0xa
mov esi, dword [esp + 0x18]
jmp case.0x4a4bf5.10
mov ecx, 7
jmp case.0x4a4bf5.10
mov dword [esp + 0x28], 0xffffffff
mov ecx, 7
jmp case.0x4a4bf5.10
mov ecx, 8
jmp case.0x4a4bf5.10
cmp bl, 0x31
jl 0x4a4f22
cmp bl, 0x39
jg 0x4a4f22
mov ecx, 9
jmp 0x4a5044
movsx eax, bl
cmp eax, 0x30
je 0x4a4f38
mov ecx, 0xa
mov esi, dword [esp + 0x18]
jmp case.0x4a4bf5.10
mov ecx, 8
jmp case.0x4a4bf5.10
mov dword [esp + 0x2c], 1
cmp bl, 0x30
jne 0x4a4f57
mov bl, byte [esi]
inc esi
cmp bl, 0x30
je 0x4a4f4f
cmp bl, 0x31
jl case.0x4a4caa.48
cmp bl, 0x39
jg case.0x4a4caa.48
mov ecx, 9
jmp 0x4a5044
mov dword [esp + 0x2c], 1
xor edi, edi
cmp dword [0x4ce6dc], 1
jle 0x4a4f97
push 4
xor eax, eax
mov al, bl
push eax
call fcn.004a0340
add esp, 8
jmp 0x4a4faa
xor ecx, ecx
mov edx, dword [str.________________________________H]
mov cl, bl
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 4
test eax, eax
je 0x4a4fca
lea eax, [edi + edi*4]
movsx ecx, bl
lea edi, [ecx + eax*2 - 0x30]
cmp edi, 0x1450
jg 0x4a4fc5
mov bl, byte [esi]
inc esi
jmp 0x4a4f7d
mov edi, 0x1451
cmp dword [0x4ce6dc], 1
jle 0x4a4fe4
push 4
xor eax, eax
mov al, bl
push eax
call fcn.004a0340
add esp, 8
jmp 0x4a4ff7
xor ecx, ecx
mov edx, dword [str.________________________________H]
mov cl, bl
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 4
test eax, eax
je case.0x4a4caa.48
mov bl, byte [esi]
inc esi
jmp 0x4a4fca
cmp dword [esp + 0x80], 0
je case.0x4a4caa.48
lea eax, [esi - 1]
mov dword [esp + 0x18], eax
movsx eax, bl
cmp eax, 0x2b
je 0x4a5029
cmp eax, 0x2d
je 0x4a5030
mov ecx, 0xa
mov esi, dword [esp + 0x18]
jmp case.0x4a4bf5.10
mov ecx, 7
jmp case.0x4a4bf5.10
mov dword [esp + 0x28], 0xffffffff
mov ecx, 7
jmp case.0x4a4bf5.10
mov ecx, 0xa
dec esi
cmp ecx, 0xa
jne 0x4a4be9
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x20], 0
mov dword [eax], esi
je 0x4a5130
cmp dword [esp + 0x14], 0x18
jbe 0x4a507e
cmp byte [esp + 0x53], 5
jl 0x4a5071
inc byte [esp + 0x53]
dec ebp
inc dword [esp + 0x1c]
mov dword [esp + 0x14], 0x18
cmp dword [esp + 0x14], 0
je 0x4a5124
dec ebp
cmp byte [ebp], 0
jne 0x4a509f
dec ebp
dec dword [esp + 0x14]
inc dword [esp + 0x1c]
cmp byte [ebp], 0
je 0x4a5090
lea eax, [esp + 0x58]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x3c]
push eax
push ecx
push edx
call fcn.004a4aa0
add esp, 0xc
cmp dword [esp + 0x28], 0
jge 0x4a50bf
neg edi
add edi, dword [esp + 0x1c]
cmp dword [esp + 0x2c], 0
jne 0x4a50ce
add edi, dword [esp + 0x78]
cmp dword [esp + 0x30], 0
jne 0x4a50d9
sub edi, dword [esp + 0x7c]
cmp edi, 0x1450
jle 0x4a50eb
mov dword [esp + 0x34], 1
jmp 0x4a5130
cmp edi, 0xffffebb0
jge 0x4a50fd
mov dword [esp + 0x38], 1
jmp 0x4a5130
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x58]
push eax
push edi
push ecx
call fcn.004a64d0
mov si, word [esp + 0x64]
mov ecx, dword [esp + 0x66]
mov di, word [esp + 0x6e]
mov edx, dword [esp + 0x6a]
add esp, 0xc
jmp 0x4a5142
xor si, si
xor edx, edx
xor di, di
xor ecx, ecx
jmp 0x4a5142
mov si, word [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov di, word [esp + 0x3c]
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x20], 0
jne 0x4a515d
xor si, si
xor edx, edx
xor di, di
xor ecx, ecx
mov dword [esp + 0x24], 4
jmp 0x4a5195
cmp dword [esp + 0x34], 0
je 0x4a517c
mov di, 0x7fff
mov edx, DirectSoundCreate
xor si, si
xor ecx, ecx
mov dword [esp + 0x24], 2
jmp 0x4a5195
cmp dword [esp + 0x38], 0
je 0x4a5195
xor si, si
xor edx, edx
xor di, di
xor ecx, ecx
mov dword [esp + 0x24], 1
or di, word [esp + 0x12]
mov eax, dword [esp + 0x68]
mov word [eax], si
mov dword [eax + 2], ecx
mov word [eax + 0xa], di
mov dword [eax + 6], edx
mov eax, dword [esp + 0x24]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x54
ret