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

Disassembly:
sub esp, 0x74
fldz
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
mov dword [esp + 0xc], ecx
lea ecx, [edx + 0x8fc]
mov dword [esp + 0x3c], ecx
mov eax, dword [ebp + 0x50]
mov esi, dword [ebp + 4]
inc eax
sub esi, dword [esp + 0x90]
xor ecx, ecx
push edi
mov edi, 0x120
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov eax, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov ecx, edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x30], esi
fst dword [eax]
fst dword [eax + 4]
add eax, 8
dec ecx
test ecx, ecx
jg 0x4427e4
mov ecx, dword [ebp + 8]
fstp st(0)
sub edi, ecx
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x44]
sar edi, 1
mov dword [esp + 0x1c], edi
cmp ecx, edx
jg 0x442815
mov dword [esp + 0x68], ecx
xor ecx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x442826
mov dword [esp + 0x68], edx
cmp ecx, dword [ebp + 0x48]
jg 0x44282c
sub ecx, edx
mov dword [esp + 0x6c], ecx
xor ecx, ecx
mov dword [esp + 0x70], ecx
jmp 0x44283e
mov eax, dword [ebp + 0x48]
sub ecx, dword [ebp + 0x48]
sub eax, edx
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov ebx, dword [esp + 0x10]
mov edi, ecx
mov eax, dword [esp + edi*4 + 0x68]
test eax, eax
jns 0x442866
push eax
push str.hip:_Bogus_region_length___d__n
push dword [ebx + 0x55ec]
call fcn.0043e80f
add esp, 0xc
xor ecx, ecx
mov dword [esp + edi*4 + 0x68], ecx
inc edi
cmp edi, 3
jl 0x442844
mov ebx, dword [esp + 0x18]
push 2
pop eax
cmp dword [ebp + 0x10], eax
jne 0x442ea2
mov edx, ecx
fldz
fld st(0)
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], ecx
cmp dword [ebp + 0x14], ecx
je 0x4428bd
or dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
imul eax, dword [esp + 0x90], 0xc
mov edi, dword [eax + 0x4818c0]
mov eax, dword [eax + 0x483000]
jmp 0x4428e7
or eax, 0xffffffff
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
imul eax, dword [esp + 0x90], 0xc
mov edi, dword [eax + 0x4818c4]
mov eax, dword [eax + 0x483004]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x58], eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
lea ecx, [ebp + 0x18]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + eax*4 + 0x68]
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x442bbc
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4429cc
mov eax, dword [edi]
fstp st(0)
mov ecx, dword [esp + 0x50]
push 4
pop ebx
add edi, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
add edi, ebx
lea eax, [ecx + eax*4]
mov ecx, dword [edi]
add edi, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], ecx
mov eax, dword [edi]
add edi, ebx
cmp ecx, 3
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], edi
jne 0x442996
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, dword [ebp + 0x64]
shl edx, cl
lea eax, [eax + edx*4]
mov edx, 0x4790e4
cmp eax, edx
jbe 0x44298b
mov eax, edx
mov dword [esp + 0x44], 1
fld dword [eax]
xor eax, eax
add dword [esp + 0x20], ebx
inc eax
jmp 0x4429c8
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov edx, dword [ebx]
mov eax, dword [ebp + eax*4 + 0x58]
shl edx, cl
lea eax, [eax + edx*4]
mov edx, 0x4790e4
cmp eax, edx
jbe 0x4429bc
mov eax, edx
mov dword [esp + 0x44], 1
fld dword [eax]
add ebx, 4
push 3
mov dword [esp + 0x24], ebx
pop eax
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx*8 + 0x458904]
mov dword [esp + 0x30], eax
movsx ebx, word [eax]
test ebx, ebx
jns 0x442a14
mov edi, dword [esp + 0x10]
mov ebp, eax
mov ecx, edi
add ebp, 2
call fcn.004451da
test eax, eax
je 0x4429fc
neg ebx
lea ebp, [ebp + ebx*2]
movsx ebx, word [ebp]
dec esi
test ebx, ebx
js 0x4429e8
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x54]
mov eax, ebx
and ebx, 0xf
sar eax, 4
mov dword [esp + 0x30], eax
cmp eax, 0xf
jne 0x442a6d
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + edx*4 + 0x74], eax
or eax, 0xffffffff
mov edx, dword [ecx*8 + 0x458900]
sub eax, edx
mov ecx, dword [esp + 0x10]
add esi, eax
call fcn.00441503
mov ecx, dword [esp + 0x10]
add eax, 0xf
mov dword [esp + 0x30], eax
call fcn.004451da
test eax, eax
mov eax, dword [esp + 0x30]
fld dword [eax*4 + 0x483090]
fmul st(1)
je 0x442a9e
fchs
jmp 0x442a9e
test eax, eax
je 0x442a9c
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x74], eax
mov ecx, dword [esp + 0x10]
call fcn.004451da
test eax, eax
mov eax, dword [esp + 0x30]
fld dword [eax*4 + 0x483090]
fmul st(1)
je 0x442a99
fchs
dec esi
jmp 0x442a9e
fld st(1)
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x40]
ja 0x442aac
fstp dword [eax]
jmp 0x442acd
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x442acd
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x28]
mov ecx, edx
shl ecx, 2
add eax, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
cmp ebx, 0xf
jne 0x442b30
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x74], eax
or eax, 0xffffffff
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx*8 + 0x458900]
sub eax, edx
mov ecx, dword [esp + 0x10]
add esi, eax
call fcn.00441503
mov ecx, dword [esp + 0x10]
add ebx, eax
call fcn.004451da
fld dword [ebx*4 + 0x483090]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
fmul st(1)
test eax, eax
je 0x442b65
fchs
jmp 0x442b65
test ebx, ebx
je 0x442b63
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x74], eax
mov ecx, dword [esp + 0x10]
call fcn.004451da
fld dword [ebx*4 + 0x483090]
fmul st(1)
test eax, eax
je 0x442b58
fchs
mov ecx, dword [esp + 0x30]
dec esi
mov edx, dword [esp + 0x28]
jmp 0x442b65
fld st(1)
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x40]
ja 0x442b73
fstp dword [ebx]
jmp 0x442b94
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x442b94
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
add ebx, ecx
mov ecx, dword [esp + 0x5c]
dec ecx
mov dword [esp + 0x18], ebx
dec eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x2c], eax
test ecx, ecx
jne 0x442929
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x64]
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp eax, 2
jl 0x44290f
cmp dword [esp + 0x1c], 0
jle 0x442d8e
test esi, esi
jle 0x442d8a
mov eax, dword [ebp + 0x54]
mov ebx, dword [eax*8 + 0x459b84]
jmp 0x442c15
mov eax, esi
add ebx, 2
sub esi, 1
js 0x442c23
mov ecx, dword [esp + 0x10]
call fcn.004451da
test eax, eax
je 0x442c15
mov eax, dword [esp + 0x64]
cwde
neg eax
lea ebx, [ebx + eax*2]
movzx eax, word [ebx]
mov dword [esp + 0x64], eax
test ax, ax
js 0x442bf4
jmp 0x442c27
mov esi, eax
xor eax, eax
mov ebx, dword [esp + 0x18]
xor ecx, ecx
cwde
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], eax
mov edx, esi
mov dword [esp + 0x64], edx
test cl, 1
jne 0x442cf2
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x442ced
mov eax, dword [edi]
fstp st(0)
mov ecx, dword [esp + 0x50]
push 4
pop edx
add edi, edx
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
add edi, edx
lea ebx, [ecx + eax*4]
mov ecx, dword [edi]
add edi, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], ebx
mov eax, dword [edi]
add edi, edx
mov dword [esp + 0x24], eax
cmp ecx, 3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
mov edx, dword [eax]
jne 0x442cb3
mov eax, dword [ebp + 0x64]
shl edx, cl
mov ecx, 0x4790e4
lea eax, [eax + edx*4]
cmp eax, ecx
jbe 0x442ca7
mov eax, ecx
mov dword [esp + 0x44], 1
fld dword [eax]
xor eax, eax
add dword [esp + 0x20], 4
inc eax
jmp 0x442cdd
mov eax, dword [esp + 0x34]
shl edx, cl
mov ecx, 0x4790e4
mov eax, dword [ebp + eax*4 + 0x58]
lea eax, [eax + edx*4]
cmp eax, ecx
jbe 0x442cd3
mov eax, ecx
mov dword [esp + 0x44], 1
fld dword [eax]
add dword [esp + 0x20], 4
push 3
pop eax
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x8c]
push 8
pop eax
sar eax, cl
test dword [esp + 0x60], eax
je 0x442d2c
sub esi, 1
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov dword [esp + ecx*4 + 0x74], eax
js 0x442d73
mov ecx, dword [esp + 0x10]
call fcn.004451da
mov ecx, dword [esp + 0x4c]
fld st(0)
test eax, eax
je 0x442d2e
fchs
jmp 0x442d2e
fld st(1)
cmp ebx, dword [esp + 0x40]
ja 0x442d38
fstp dword [ebx]
jmp 0x442d59
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x442d59
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x4c], ecx
lea ebx, [ebx + edx*4]
mov dword [esp + 0x18], ebx
cmp ecx, 4
jge 0x442d79
jmp 0x442c36
mov esi, edx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
test eax, eax
jg 0x442be0
mov dword [esp + 0x30], esi
fstp st(0)
cmp edi, dword [esp + 0x58]
jae 0x442e38
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
test ecx, ecx
jne 0x442dc7
mov eax, dword [edi + 4]
xor edx, edx
mov ecx, dword [edi]
lea ebx, [esi + eax*4]
mov eax, dword [edi + 8]
add edi, 0x10
cmp eax, 3
setne dl
lea edx, [edx*2 + 1]
lea eax, [esi + 0x8fc]
dec ecx
cmp ebx, eax
ja 0x442dd6
fst dword [ebx]
jmp 0x442df1
cmp dword [esp + 0x14], 0
jne 0x442df1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], eax
mov eax, edx
shl eax, 2
add ebx, eax
cmp ebx, dword [esp + 0x40]
ja 0x442e02
fst dword [ebx]
jmp 0x442e21
cmp dword [esp + 0x14], 0
jne 0x442e21
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x14], 1
mov dword [esp + 0x38], ebp
add ebx, eax
cmp edi, dword [esp + 0x58]
jb 0x442da6
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0x74]
fstp st(0)
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [ebp + 0x30], eax
lea eax, [edi + 1]
mov dword [ebp + 0x34], eax
lea eax, [edx + 1]
mov dword [ebp + 0x38], eax
lea eax, [ebx + 1]
mov dword [ebp + 0x3c], eax
cmp ecx, edi
jg 0x442e6b
mov ecx, edi
cmp ecx, edx
jg 0x442e71
mov ecx, edx
add ecx, 1
je 0x442e8c
imul eax, dword [esp + 0x90], 0xe
add eax, ecx
mov eax, dword [eax*4 + 0x481540]
jmp 0x4432b4
imul eax, dword [esp + 0x90], 0x17
add eax, ebx
mov eax, dword [eax*4 + 0x482374]
jmp 0x4432b4
cmp dword [ebp + 0x4c], ecx
je 0x442eb1
mov dword [esp + 0x2c], 0x458b80
jmp 0x442eba
mov eax, 0x459530
mov dword [esp + 0x2c], eax
fldz
or eax, 0xffffffff
mov edx, dword [esp + 0x88]
fld st(0)
mov dword [esp + 0x24], eax
imul eax, dword [esp + 0x90], 0xc
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], edx
mov edi, dword [eax + 0x4818c8]
mov eax, ecx
lea ecx, [ebp + 0x18]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + eax*4 + 0x68]
mov edx, dword [ecx]
mov dword [esp + 0x50], edx
mov dword [esp + 0x64], eax
test eax, eax
je 0x443108
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x442f68
mov edx, dword [esp + 0x28]
fstp st(0)
mov ebx, dword [esp + 0x2c]
mov eax, dword [edi]
mov ecx, dword [esp + 0x48]
mov edx, dword [edx]
add edx, dword [ebx]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x64]
shl edx, cl
mov ecx, 0x4790e4
lea eax, [eax + edx*4]
cmp eax, ecx
jbe 0x442f48
mov eax, ecx
mov dword [esp + 0x44], 1
fld dword [eax]
add ebx, 4
mov eax, dword [edi + 4]
add dword [esp + 0x28], 4
add edi, 8
mov edx, dword [esp + 0x50]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], edi
mov ebx, dword [edx*8 + 0x458904]
movsx edi, word [ebx]
test edi, edi
jns 0x442fa0
mov ebp, dword [esp + 0x10]
mov ecx, ebp
add ebx, 2
call fcn.004451da
test eax, eax
je 0x442f8d
neg edi
lea ebx, [ebx + edi*2]
movsx edi, word [ebx]
dec esi
test edi, edi
js 0x442f7a
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0x50]
mov ebx, edi
and edi, 0xf
sar ebx, 4
cmp ebx, 0xf
jne 0x442fe8
mov eax, dword [esp + 0x30]
mov edx, dword [edx*8 + 0x458900]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
or eax, 0xffffffff
sub eax, edx
add esi, eax
call fcn.00441503
mov ecx, dword [esp + 0x10]
mov ebx, eax
call fcn.004451da
fld dword [ebx*4 + 0x4830cc]
fmul st(1)
test eax, eax
je 0x443011
fchs
jmp 0x443011
test ebx, ebx
je 0x44300f
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
call fcn.004451da
fld dword [ebx*4 + 0x483090]
fmul st(1)
test eax, eax
je 0x44300c
fchs
dec esi
jmp 0x443011
fld st(1)
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x40]
ja 0x443068
fstp dword [ebx]
add ebx, 4
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x30]
cmp edi, 0xf
jne 0x44308b
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
or eax, 0xffffffff
mov edx, dword [edx*8 + 0x458900]
sub eax, edx
add esi, eax
call fcn.00441503
mov ecx, dword [esp + 0x10]
add edi, eax
call fcn.004451da
fld dword [edi*4 + 0x483090]
fmul st(1)
test eax, eax
je 0x4430b0
fchs
jmp 0x4430b0
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x443024
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jmp 0x443028
test edi, edi
je 0x4430ae
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
call fcn.004451da
fld dword [edi*4 + 0x483090]
fmul st(1)
test eax, eax
je 0x4430ab
fchs
dec esi
jmp 0x4430b0
fld st(1)
cmp ebx, dword [esp + 0x40]
ja 0x4430c1
fstp dword [ebx]
add ebx, 4
mov dword [esp + 0x18], ebx
jmp 0x4430e2
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x4430e2
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x34]
dec eax
mov edi, dword [esp + 0x4c]
dec ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x442f11
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
add ecx, 4
inc eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
cmp eax, 3
jl 0x442ef7
cmp dword [esp + 0x1c], 0
je 0x443270
test esi, esi
jle 0x443270
mov eax, dword [ebp + 0x54]
mov edi, dword [eax*8 + 0x459b84]
jmp 0x44315f
mov eax, esi
add edi, 2
sub esi, 1
js 0x443169
mov ecx, dword [esp + 0x10]
call fcn.004451da
test eax, eax
je 0x44315f
movsx eax, bx
neg eax
lea edi, [edi + eax*2]
movzx ebx, word [edi]
test bx, bx
js 0x443140
jmp 0x44316d
mov esi, eax
xor ebx, ebx
movsx edx, bx
xor ecx, ecx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], edx
mov edi, esi
test cl, 1
jne 0x4431ef
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4431ea
mov ecx, dword [esp + 0x4c]
fstp st(0)
mov edx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [edx]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x48]
add edx, dword [eax]
mov eax, dword [ebp + 0x64]
shl edx, cl
mov ecx, 0x4790e4
lea eax, [eax + edx*4]
cmp eax, ecx
jbe 0x4431d2
mov eax, ecx
mov dword [esp + 0x44], 1
fld dword [eax]
add dword [esp + 0x2c], 4
add dword [esp + 0x28], 4
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
push 8
pop eax
sar eax, cl
test edx, eax
je 0x443220
sub esi, 1
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
js 0x443263
mov ecx, dword [esp + 0x10]
call fcn.004451da
mov ecx, dword [esp + 0x50]
fld st(0)
mov edx, dword [esp + 0x58]
test eax, eax
je 0x443222
fchs
jmp 0x443222
fld st(1)
cmp ebx, dword [esp + 0x40]
ja 0x443233
fstp dword [ebx]
add ebx, 4
mov dword [esp + 0x18], ebx
jmp 0x443254
cmp dword [esp + 0x14], 0
fstp st(0)
jne 0x443254
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x3c], eax
inc ecx
mov dword [esp + 0x50], ecx
cmp ecx, 4
jge 0x443265
jmp 0x44317e
mov esi, edi
sub dword [esp + 0x1c], 1
jne 0x44312c
mov eax, dword [esp + 0x40]
xor edx, edx
sub eax, ebx
inc edx
add eax, 4
fstp st(0)
shr eax, 2
cmp dword [esp + 0x40], ebx
sbb ecx, ecx
not ecx
and ecx, eax
cmp ecx, edx
jb 0x443299
fst dword [ebx]
add ebx, 4
inc edx
cmp edx, ecx
jbe 0x44328f
imul eax, dword [esp + 0x90], 0x17
fstp st(0)
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [ebp + 0x3c], ecx
add eax, ecx
mov eax, dword [eax*4 + 0x482370]
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x10]
mov dword [ebp + 0x40], eax
je 0x4432ed
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
push dword [ebp + 8]
push dword [esp + 0x4c]
push dword [esp + 0x54]
push esi
push str.hip:_OOPS__part2remain_d_l3_d_cb_d_bv_d_region1_d_region2_d_b_type_d_mixed_d_n
push dword [ebx + 0x55ec]
call fcn.0043e80f
add esp, 0x28
mov edi, dword [esp + 0x44]
test edi, edi
je 0x443322
cmp dword [ebx + 0x70], 1
jne 0x443303
mov eax, dword [ebx + 0x74]
and eax, 1
jmp 0x443305
xor eax, eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [ebx + 0x4c]
push str.hip:_OOPS__gainpow2_buffer_overflow__lsf_d_i_stereo_d_b_type_d_mixed_d_n
push dword [ebx + 0x55ec]
call fcn.0043e80f
add esp, 0x18
cmp esi, 0x10
jle 0x443342
lea edi, [esi - 0x11]
shr edi, 4
inc edi
imul eax, edi, 0xfffffff0
add esi, eax
push 0x10
pop edx
mov ecx, ebx
call fcn.00441503
sub edi, 1
jne 0x443333
test esi, esi
jle 0x443359
mov edx, esi
mov ecx, ebx
call fcn.00441503
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
jns 0x44334f
neg esi
push esi
push str.hip:_Cant_rewind_stream_by__d_bits__n
push dword [ebx + 0x55ec]
call fcn.0043e80f
xor eax, eax
add esp, 0xc
inc eax
jmp 0x443351