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

Disassembly:
sub esp, 0x70
mov eax, dword [0x47a040]
xor eax, esp
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x74], 0xffffffff
mov dword [esp], 0
jne 0x42da2d
xor ecx, ecx
mov eax, 0x4ceaac
mov edx, dword [eax - 0x2c]
test edx, edx
je 0x42da29
cmp dword [eax], 0
je 0x42da1e
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x42da21
mov edx, dword [eax + 0x58]
test edx, edx
je 0x42da26
add eax, 0xb0
add ecx, 4
cmp eax, 0x4ced6c
jl 0x42d9f3
jmp 0x42da29
inc ecx
jmp 0x42da29
add ecx, 2
jmp 0x42da29
add ecx, 3
mov dword [esp + 0x74], ecx
push ebx
mov ebx, dword [esp + 0x78]
imul ebx, ebx, 0x2c
mov eax, dword [ebx + 0x4cea80]
test eax, eax
lea edx, [ebx + 0x4cea80]
je 0x42da64
mov eax, dword [0x4cdd20]
push eax
call dword [0x45e05c]
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00450905
add esp, 0x70
ret
push ebp
mov ebp, dword [0x4cdd20]
push esi
xor eax, eax
push edi
mov ecx, 0xb
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x88]
mov esi, 1
mov dword [ebx + 0x4cea98], eax
mov eax, dword [0x4ce6b0]
or ecx, esi
test eax, eax
mov dword [edx], ecx
mov dword [ebx + 0x4cea90], ebp
je 0x42db3d
push 0x14
push esi
call fcn.0043aec0
mov esi, eax
push esi
push 0x14
push ebp
push 0
call fcn.004364b0
mov edx, dword [esi + 4]
mov dword [ebx + 0x4ceaa0], edx
mov eax, dword [esi]
mov dword [ebx + 0x4cea9c], eax
mov dword [0x4cdd2c], eax
mov ax, word [esi + 8]
mov word [ebx + 0x4ceaa4], ax
mov cx, word [esi + 0xa]
mov word [ebx + 0x4ceaa6], cx
mov edx, dword [esi + 0xc]
mov ecx, dword [0x4cdd24]
mov dword [ebx + 0x4cea88], edx
mov eax, dword [esi + 0x10]
movzx edx, word [ebx + 0x4ceaa6]
mov dword [ebx + 0x4cea8c], eax
movzx eax, word [ebx + 0x4ceaa4]
imul eax, edx
cdq
add esp, 0x18
and edx, 7
pop edi
add eax, edx
add ecx, 0x14
pop esi
sar eax, 3
mov dword [ebx + 0x4ceaa8], eax
mov eax, dword [esp + 0x7c]
pop ebp
mov dword [ebx + 0x4cea94], ecx
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00450905
add esp, 0x70
ret
mov edi, dword [0x45e068]
push 0
push 0x4ce964
push 0xc
lea eax, [esp + 0x3c]
push eax
push ebp
call edi
lea edx, [esp + 0x30]
mov eax, dword [edx]
mov ecx, str.RIFF
cmp eax, dword [ecx]
jne 0x42dd90
lea edx, [esp + 0x38]
mov eax, dword [edx]
mov ecx, str.WAVE
cmp eax, dword [ecx]
jne 0x42dd90
lea ebx, [ebx]
push 0
push 0x4ce964
push 8
lea ecx, [esp + 0x20]
push ecx
push ebp
call edi
lea eax, [esp + 0x14]
mov ecx, dword [eax]
mov edx, str.fmt
cmp ecx, dword [edx]
jne 0x42dbe2
push 0
push 0x4ce964
push 0x10
lea edx, [esp + 0x2c]
push edx
push ebp
call edi
cmp word [esp + 0x20], si
jne 0x42dd90
cmp word [esp + 0x2e], 0x10
jne 0x42dd90
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
je 0x42dbdc
push esi
push 0
push eax
push ebp
call dword [0x45e060]
mov dword [esp + 0x10], esi
jmp 0x42db80
lea ecx, [esp + 0x14]
mov edx, dword [ecx]
mov eax, str.data
cmp edx, dword [eax]
je 0x42dc05
mov eax, dword [esp + 0x18]
push esi
push 0
push eax
push ebp
call dword [0x45e060]
jmp 0x42db80
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42dd90
push esi
push 0
push 0
push ebp
call dword [0x45e060]
mov ecx, dword [esp + 0x24]
mov dx, word [esp + 0x2e]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov dword [ebx + 0x4ceaa0], ecx
mov cx, word [esp + 0x22]
mov dword [ebx + 0x4cea94], eax
mov word [ebx + 0x4ceaa6], dx
movzx eax, cx
movzx edx, dx
imul eax, edx
cdq
and edx, 7
add eax, edx
mov word [ebx + 0x4ceaa4], cx
mov ecx, eax
sar ecx, 3
xor edx, edx
mov eax, esi
div ecx
push 1
mov dword [ebx + 0x4ceaa8], ecx
mov ecx, 0x10
lea edi, [esp + 0x40]
mov dword [0x4cdd2c], esi
mov dword [ebx + 0x4cea9c], esi
mov dword [esp + 0x14], eax
xor eax, eax
push eax
push esi
push ebp
rep stosd dword es:[edi], eax
call dword [0x45e060]
push 0
push 0x4ce964
push 0x40
lea eax, [esp + 0x48]
push eax
push ebp
call dword [0x45e068]
mov ecx, 3
mov edi, 0x46058c
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x42dd52
mov al, byte [esp + 0x3f]
xor edi, edi
cmp al, 0x30
mov dword [ebx + 0x4cea88], edi
mov dword [ebx + 0x4cea8c], edi
mov edx, 3
jl 0x42dd03
lea ecx, [ecx]
cmp al, 0x39
jg 0x42dd03
mov ecx, dword [ebx + 0x4cea88]
movsx eax, al
lea ecx, [ecx + ecx*4]
inc edx
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [esp + edx + 0x3c]
cmp al, 0x30
mov dword [ebx + 0x4cea88], ecx
jge 0x42dce0
mov esi, dword [esp + 0x10]
cmp dword [ebx + 0x4cea88], esi
jb 0x42dd15
mov dword [ebx + 0x4cea88], edi
mov al, byte [esp + edx + 0x3d]
cmp al, 0x30
lea edx, [esp + edx + 0x3d]
jl 0x42dd42
cmp al, 0x39
jg 0x42dd42
mov ecx, dword [ebx + 0x4cea8c]
movsx eax, al
lea ecx, [ecx + ecx*4]
inc edx
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [edx]
cmp al, 0x30
mov dword [ebx + 0x4cea8c], ecx
jge 0x42dd21
cmp dword [ebx + 0x4cea8c], esi
jbe 0x42dd68
mov dword [ebx + 0x4cea8c], esi
jmp 0x42dd68
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x4cea88], 0
mov dword [ebx + 0x4cea8c], edx
xor edi, edi
mov eax, dword [esp + 0x1c]
push edi
push edi
push eax
push ebp
call dword [0x45e060]
mov eax, dword [esp + 0x84]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00450905
add esp, 0x70
ret
push ebp
call dword [0x45e05c]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.00450905
add esp, 0x70
ret