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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x4f7004]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xorps xmm0, xmm0
push 4
lea ecx, [esp + 0x1c]
movlpd qword [esp + 0xac], xmm0
push ecx
push dword [ebx + 0xc]
mov eax, dword [ebx]
movlpd qword [esp + 0x34], xmm0
call eax
mov edi, eax
add esp, 0xc
xor esi, esi
cmp edi, 4
jne 0x427754
mov edx, str.RIFF
lea ecx, [esp + 0x18]
call fcn.0042c2b9
push 2
pop ebp
test eax, eax
je 0x427628
and dword [ebx + 0x20], esi
jmp 0x42769c
mov edx, str.riff
lea ecx, [esp + 0x18]
call fcn.0042c2b9
test eax, eax
je 0x427683
mov eax, dword [ebx]
lea ecx, [esp + 0xb0]
push 0xc
push ecx
push dword [ebx + 0xc]
mov dword [ebx + 0x20], 1
call eax
xor esi, esi
add esp, 0xc
mov ecx, eax
add edi, ecx
adc esi, esi
cmp eax, 0xc
jne 0x427754
xor ecx, ecx
mov al, byte [esp + ecx + 0xb0]
cmp al, byte [ecx + 0x4800c4]
jne 0x427754
inc ecx
cmp ecx, 0xc
jl 0x427668
jmp 0x42769c
mov edx, str.RF64
lea ecx, [esp + 0x18]
call fcn.0042c2b9
test eax, eax
je 0x427754
mov dword [ebx + 0x20], ebp
cmp dword [ebx + 0x20], 0
je 0x427721
cmp dword [ebx + 0x20], ebp
je 0x427721
mov eax, dword [ebx]
lea ecx, [esp + 0xb0]
push 8
push ecx
push dword [ebx + 0xc]
call eax
add esp, 0xc
mov ebp, eax
add ebp, edi
push 0
pop edi
adc edi, esi
cmp eax, 8
jne 0x427754
lea ecx, [esp + 0xb0]
call fcn.0042c220
test edx, edx
jne 0x4276e2
cmp eax, 0x50
jb 0x427754
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push 0x10
push ecx
push dword [ebx + 0xc]
call eax
xor edx, edx
add esp, 0xc
mov ecx, eax
add ecx, ebp
mov dword [esp + 0xb0], ecx
adc edx, edi
mov dword [esp + 0xb4], edx
cmp eax, 0x10
jne 0x427754
mov edx, str.wave
lea ecx, [esp + 0x60]
call fcn.0042c29d
jmp 0x4277ae
mov eax, dword [ebx]
lea ecx, [esp + 0x24]
push 4
push ecx
push dword [ebx + 0xc]
call eax
add esp, 0xc
mov ebp, eax
add ebp, edi
push 0
pop edi
adc edi, esi
cmp eax, 4
jne 0x427754
lea ecx, [esp + 0x24]
call fcn.0042c201
cmp dword [ebx + 0x20], 0
jne 0x42776f
cmp eax, 0x24
jae 0x427774
xor eax, eax
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00448363
add esp, 0xbc
ret
cmp eax, 0xffffffff
jne 0x427754
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push 4
push ecx
push dword [ebx + 0xc]
call eax
xor edx, edx
add esp, 0xc
mov ecx, eax
add ecx, ebp
mov dword [esp + 0xb0], ecx
adc edx, edi
mov dword [esp + 0xb4], edx
cmp eax, 4
jne 0x427754
mov edx, str.WAVE
lea ecx, [esp + 0x14]
call fcn.0042c2b9
test eax, eax
je 0x427754
push 2
pop ebp
cmp dword [ebx + 0x20], ebp
jne 0x4278d7
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x60]
mov ecx, dword [ebx]
push eax
lea eax, [esp + 0xb4]
push eax
push ebp
call fcn.00425c68
add esp, 0xc
test eax, eax
jne 0x427754
mov edx, str.ds64
lea ecx, [esp + 0x60]
call fcn.0042c2b9
test eax, eax
je 0x427754
mov ebp, dword [esp + 0x78]
xor eax, eax
add ebp, dword [esp + 0x70]
mov edx, dword [ebx + 0xc]
adc eax, dword [esp + 0x74]
mov ecx, dword [ebx + 8]
push 0
push 8
mov dword [esp + 0x18], eax
call fcn.00425d2f
pop ecx
pop ecx
test eax, eax
je 0x427754
mov eax, dword [ebx]
lea ecx, [esp + 0xa8]
push 8
push ecx
push dword [ebx + 0xc]
call eax
xor edi, edi
add esp, 0xc
mov esi, eax
add esi, dword [esp + 0xb0]
adc edi, dword [esp + 0xb4]
cmp eax, 8
jne 0x427754
lea ecx, [esp + 0xa8]
call fcn.0042c220
mov ecx, dword [ebx]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xa8]
push 8
push eax
push dword [ebx + 0xc]
mov dword [esp + 0x2c], edx
call ecx
add esp, 0xc
cmp eax, 8
jne 0x427754
add ebp, 0xffffffe8
lea ecx, [esp + 0xa8]
adc dword [esp + 0x10], 0xffffffff
call fcn.0042c220
push dword [esp + 0x10]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 0xc]
push ebp
mov dword [esp + 0x30], eax
call fcn.00425d2f
pop ecx
pop ecx
test eax, eax
je 0x427754
add esi, ebp
push 2
adc edi, dword [esp + 0x14]
add esi, 0x10
mov dword [esp + 0xb4], esi
adc edi, 0
mov dword [esp + 0xb8], edi
pop ebp
jmp 0x4278ed
mov eax, dword [esp + 0xac]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x14], eax
mov edx, dword [ebx + 8]
lea eax, [esp + 0x80]
mov ecx, dword [ebx]
push eax
lea eax, [esp + 0xb4]
push eax
push dword [ebx + 0x20]
push dword [ebx + 0xc]
call fcn.00425e05
add esp, 0x10
test eax, eax
je 0x427754
cmp dword [esp + 0x84], 0
je 0x427754
cmp dword [esp + 0x84], 0x5dc00
ja 0x427754
cmp word [esp + 0x82], 0
je 0x427754
mov eax, 0x100
cmp word [esp + 0x82], ax
ja 0x427754
cmp word [esp + 0x8e], 0
je 0x427754
cmp word [esp + 0x8e], 0x40
ja 0x427754
cmp word [esp + 0x8c], 0
je 0x427754
movzx eax, word [esp + 0x80]
mov ecx, 0xfffe
mov dword [esp + 0x24], eax
cmp ax, cx
jne 0x4279ba
movzx ecx, byte [esp + 0x99]
movzx eax, byte [esp + 0x98]
shl cx, 8
or cx, ax
movzx eax, cx
mov dword [esp + 0x24], eax
push 0x30
lea eax, [esp + 0x34]
push 0
push eax
call fcn.00449940
add esp, 0xc
cmp dword [ebx + 0x8c], 0
je 0x427ac5
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x4279e7
cmp esi, ebp
jne 0x427ac5
mov eax, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0xc]
and dword [esp + 0x3c], 0
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0xac]
mov dword [esp + 0xac], ebp
push eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], edx
push esi
jmp 0x427a88
push dword [ebx + 0x8c]
lea edx, [esp + 0x64]
lea ecx, [esp + 0x34]
call fcn.00426cda
mov esi, dword [esp + 0x7c]
xor edi, edi
sub esi, eax
pop ecx
mov ecx, dword [ebx + 8]
sbb edi, edx
add esi, dword [esp + 0x70]
mov edx, dword [ebx + 0xc]
adc edi, dword [esp + 0x74]
push edi
push esi
call fcn.00425d2f
pop ecx
pop ecx
test eax, eax
je 0x427a94
add dword [esp + 0xa8], esi
lea eax, [esp + 0x60]
mov edx, dword [ebx + 0xc]
adc dword [esp + 0xac], edi
mov ecx, dword [ebx]
push eax
lea eax, [esp + 0xac]
push eax
push dword [ebx + 0x20]
call fcn.00425c68
add esp, 0xc
test eax, eax
je 0x427a2c
push dword [esp + 0xb4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push ebp
call fcn.00425d90
pop ecx
pop ecx
test eax, eax
je 0x427754
lea edx, [ebx + 0x10]
lea ecx, [esp + 0x30]
call fcn.00426120
mov dword [esp + 0x3c], 1
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x60]
mov ecx, dword [ebx]
xor ebp, ebp
push eax
lea eax, [esp + 0xb4]
mov dword [esp + 0x14], ebp
push eax
push dword [ebx + 0x20]
call fcn.00425c68
add esp, 0xc
test eax, eax
jne 0x427754
mov eax, dword [ebx + 0x8c]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
test eax, eax
je 0x427b44
cmp dword [ebx + 0x20], 0
je 0x427b16
push 2
pop ecx
cmp dword [ebx + 0x20], ecx
jne 0x427b47
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x34]
call fcn.00426cda
pop ecx
test edx, edx
jne 0x427b2d
test eax, eax
je 0x427b44
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push esi
push edi
call fcn.00425d90
pop ecx
pop ecx
test eax, eax
je 0x427754
push 2
pop ecx
test ebp, ebp
jne 0x427b51
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], esi
cmp dword [ebx + 0x20], 0
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
je 0x427bf5
cmp dword [ebx + 0x20], ecx
je 0x427bf5
mov edx, 0x47f350
lea ecx, [esp + 0x60]
call fcn.0042c29d
test eax, eax
je 0x427b96
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x20], 1
jne 0x427ca2
mov edx, 0x4804f0
lea ecx, [esp + 0x60]
call fcn.0042c29d
test eax, eax
je 0x427ca2
mov eax, dword [ebx]
lea ecx, [esp + 0x28]
push 8
push ecx
push dword [ebx + 0xc]
call eax
add esp, 0xc
add edi, eax
adc esi, 0
cmp eax, 8
jne 0x427754
mov ecx, dword [esp + 0x1c]
add ebp, 0xfffffff8
adc ecx, 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x427ca6
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], esi
jmp 0x427ca6
mov edx, str.data
lea ecx, [esp + 0x60]
call fcn.0042c2b9
test eax, eax
je 0x427c27
push 2
pop eax
mov dword [esp + 0x10], 1
cmp dword [ebx + 0x20], eax
je 0x427ca2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x20], 0
jne 0x427b96
mov edx, str.fact
lea ecx, [esp + 0x60]
call fcn.0042c2b9
test eax, eax
je 0x427ca2
mov eax, dword [ebx]
lea ecx, [esp + 0xa8]
push 4
push ecx
push dword [ebx + 0xc]
call eax
add esp, 0xc
add edi, eax
adc esi, 0
cmp eax, 4
jne 0x427754
mov ecx, dword [esp + 0x1c]
add ebp, 0xfffffffc
adc ecx, 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x427c7c
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], esi
push 2
pop eax
cmp word [ebx + 0x54], ax
jne 0x427c97
mov eax, dword [esp + 0xa8]
and dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
jmp 0x427ca6
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
jmp 0x427ca6
mov ecx, dword [esp + 0x1c]
add ebp, dword [esp + 0x78]
mov edx, dword [ebx + 0xc]
adc ecx, 0
push ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 8]
push ebp
call fcn.00425d2f
pop ecx
pop ecx
test eax, eax
je 0x427d15
add edi, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xb0], edi
adc esi, dword [esp + 0x1c]
mov dword [esp + 0xb4], esi
test ebp, ebp
jne 0x427ce6
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], esi
mov edx, dword [ebx + 0xc]
lea eax, [esp + 0x60]
mov ecx, dword [ebx]
push eax
lea eax, [esp + 0xb4]
push eax
push dword [ebx + 0x20]
call fcn.00425c68
add esp, 0xc
test eax, eax
je 0x427af0
test ebp, ebp
je 0x427754
jmp 0x427d19
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x94], eax
test ebp, ebp
je 0x427754
push dword [ebx + 0x6c]
mov edx, dword [ebx + 0xc]
push dword [ebx + 0x68]
mov ecx, dword [ebx + 8]
call fcn.00425d90
pop ecx
pop ecx
test eax, eax
je 0x427754
mov eax, dword [esp + 0x84]
lea edi, [ebx + 0x24]
mov edx, dword [esp + 0x2c]
lea esi, [esp + 0x80]
mov ebp, dword [esp + 0x14]
mov dword [ebx + 0x4c], eax
mov ax, word [esp + 0x82]
push 0xa
pop ecx
mov word [ebx + 0x50], ax
mov ax, word [esp + 0x8e]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov word [ebx + 0x52], ax
mov eax, ecx
or eax, edx
mov dword [ebx + 0x70], ebp
push 0x11
mov dword [ebx + 0x74], edi
mov word [ebx + 0x54], si
mov dword [ebx + 0x60], ebp
mov dword [ebx + 0x64], edi
pop eax
je 0x427de9
push 2
mov dword [ebx + 0x58], ecx
pop ecx
mov dword [ebx + 0x5c], edx
cmp si, cx
je 0x427dc1
cmp si, ax
jne 0x427dd2
push 2
pop eax
cmp word [esp + 0x82], ax
ja 0x427754
mov ecx, ebx
call fcn.004274fd
test eax, eax
je 0x427754
xor eax, eax
inc eax
jmp 0x427756
mov ecx, ebx
call fcn.004274fd
test eax, eax
je 0x427754
push 0
push eax
push edi
push ebp
call fcn.00460520
push 2
mov dword [ebx + 0x58], eax
pop eax
mov dword [ebx + 0x5c], edx
cmp si, ax
jne 0x427e8b
movzx eax, word [esp + 0x8c]
cdq
mov esi, edx
mov edi, eax
push esi
push edi
push dword [esp + 0x28]
push ebp
call fcn.00460520
push esi
push edi
mov esi, edx
mov dword [esp + 0x20], eax
push esi
push eax
mov dword [esp + 0xb8], edx
call fcn.0045ff10
cmp edx, dword [esp + 0x20]
ja 0x427e53
jb 0x427e4b
cmp eax, ebp
jae 0x427e53
add dword [esp + 0x18], 1
adc esi, 0
movzx edi, word [esp + 0x82]
mov eax, esi
imul ecx, edi, 6
mul ecx
mov esi, eax
mov eax, dword [esp + 0x18]
mul ecx
mov ecx, dword [esp + 0x20]
add esi, edx
sub ebp, eax
mov eax, edi
cdq
sbb ecx, esi
push edx
shld ecx, ebp, 1
push eax
add ebp, ebp
push ecx
push ebp
call fcn.00460520
jmp 0x427f18
push 0x11
pop eax
cmp si, ax
jne 0x427dd2
movzx eax, word [esp + 0x8c]
cdq
mov esi, edx
mov edi, eax
push esi
push edi
push dword [esp + 0x28]
push ebp
call fcn.00460520
push esi
push edi
mov esi, edx
mov dword [esp + 0x1c], eax
push esi
push eax
mov dword [esp + 0x28], edx
call fcn.0045ff10
cmp edx, dword [esp + 0x20]
ja 0x427edb
jb 0x427ecf
cmp eax, ebp
jae 0x427edb
add dword [esp + 0x14], 1
adc esi, 0
mov dword [esp + 0x18], esi
movzx edi, word [esp + 0x82]
mov eax, esi
mov ecx, edi
shl ecx, 2
mul ecx
mov esi, eax
mov eax, dword [esp + 0x14]
mul ecx
mov ecx, dword [esp + 0x20]
add esi, edx
sub ebp, eax
mov eax, edi
cdq
sbb ecx, esi
push edx
shld ecx, ebp, 1
push eax
push ecx
add ebp, ebp
push ebp
call fcn.00460520
add eax, dword [esp + 0x14]
adc edx, dword [esp + 0x18]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], edx
jmp 0x427dc1