Function at 0x490400
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x438
push ebx
push ebp
push esi
push edi
push 0x558
call fcn.0048f240
mov edi, eax
add esp, 4
test edi, edi
jne 0x49043c
push 0x4b1d14
push 0x4b06c4
call fcn.00492257
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov esi, dword [esp + 0x44c]
push 0x4b1d4c
push esi
call fcn.00491550
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x49047f
push edi
call fcn.0048b880
push esi
push 0x4b1d50
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov esi, dword [esp + 0x450]
test esi, esi
je 0x490498
push esi
push eax
call fcn.004915c0
mov eax, dword [esp + 0x18]
add esp, 8
push 0x11
push eax
call fcn.004915c0
mov eax, dword [esp + 0x18]
push eax
push 0x14
push edi
call fcn.004915e0
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00491600
mov edx, dword [esp + 0x28]
push 0x14
push edx
call fcn.004915c0
mov eax, dword [esp + 0x30]
push 2
push eax
call fcn.004915c0
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00491720
mov dword [edi + 0x554], 0x40
mov edx, dword [esp + 0x3c]
lea ebp, [eax + esi + 0x3c]
push edx
mov dword [esp + 0x44], ebp
call fcn.004916e0
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x40]
push eax
call fcn.004916e0
mov dword [edi + 0x544], eax
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004916e0
mov dword [edi + 0x548], eax
mov edx, dword [esp + 0x48]
push edx
call fcn.004916e0
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x4c]
push eax
call fcn.004916e0
add esp, 0x40
mov dword [edi + 0x54c], eax
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004916e0
mov edx, dword [esp + 0x14]
mov esi, eax
push edx
and esi, 1
call fcn.004916e0
mov dword [edi + 0x53c], eax
mov eax, dword [esp + 0x18]
push eax
call fcn.004916e0
mov dword [edi + 0x540], eax
lea eax, [edi + 0x38]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x28], 0x100
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00491600
mov dword [ebx], eax
mov eax, dword [esp + 0x2c]
add esp, 4
add ebx, 4
dec eax
mov dword [esp + 0x28], eax
jne 0x490577
mov eax, dword [edi + 0x53c]
test eax, eax
jne 0x4905a8
mov dword [edi + 0x53c], 6
mov eax, dword [edi + 0x540]
test eax, eax
jne 0x4905bc
mov dword [edi + 0x540], 0x7d
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
neg esi
sbb esi, esi
mov ebx, eax
and esi, 2
xor edx, edx
add esi, 3
mov dword [edi + 0x538], 1
test ecx, ecx
mov dword [edi + 0x538], esi
mov dword [esp + 0x28], ebx
jle 0x490606
lea ecx, [edi + 0x38]
cmp dword [ecx], eax
jl 0x4905f7
mov dword [ecx], eax
mov eax, dword [edi + 0x34]
lea ebx, [eax + 1]
mov esi, dword [edi + 0x30]
inc edx
add ecx, 4
cmp edx, esi
jl 0x4905eb
mov dword [esp + 0x28], ebx
lea edx, [ebx*8]
push edx
call fcn.0048f240
add esp, 4
mov dword [edi + 0x24], eax
test eax, eax
jne 0x49064c
mov eax, dword [esp + 0x10]
push eax
call fcn.00491570
push edi
call fcn.0048b880
push 0x4b1d64
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov ecx, dword [esp + 0x44c]
push ebp
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00491580
mov eax, dword [edi + 0x34]
add esp, 0xc
test eax, eax
mov dword [esp + 0x24], 0
jle 0x49075f
mov eax, dword [edi + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
push edx
lea esi, [eax + ecx*8]
call fcn.00491720
add ebp, eax
mov eax, dword [esp + 0x14]
push eax
call fcn.00491600
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004916e0
mov dword [esi + 4], eax
mov edx, dword [esp + 0x1c]
push edx
call fcn.004916e0
mov ebx, eax
mov eax, dword [esp + 0x45c]
push ebp
lea ecx, [esp + 0x24]
push eax
push ecx
mov dword [esp + 0x34], ebx
call fcn.00491580
mov eax, dword [edi + 0x548]
add ebp, ebx
imul eax, dword [esi + 4]
mov dword [esp + 0x30], ebp
lea edx, [eax + eax*4]
shl edx, 2
push edx
call fcn.0048f240
add esp, 0x20
mov dword [esi], eax
test eax, eax
je 0x4907db
mov ebx, eax
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x490747
mov eax, dword [esi + 4]
xor ebp, ebp
imul eax, dword [edi + 0x548]
test eax, eax
jle 0x490729
mov ecx, dword [esp + 0x10]
push ebx
push ecx
push edi
call fcn.004900b0
mov edx, dword [esi + 4]
add esp, 0xc
imul edx, dword [edi + 0x548]
add ebx, 0x14
inc ebp
cmp ebp, edx
jl 0x490708
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44c]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00491580
mov ebp, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x34]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x490675
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x44c]
push ebp
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.00491580
mov eax, dword [edi + 0x34]
add esp, 0xc
cmp ebx, eax
je 0x49080a
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x34], ebx
mov dword [ecx + eax*8 + 4], 0x40
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0x548]
lea edx, [eax + eax*4]
shl edx, 8
push edx
call fcn.0048f240
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x49080a
mov eax, dword [esp + 0x10]
push eax
call fcn.00491570
push edi
call fcn.0048b880
push 0x4b1dc8
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [esp + 0x10]
push eax
call fcn.00491570
push edi
call fcn.0048b880
push str.Unable_to_allocate_enough_memroy_for_NOTE_INFO
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [edi + 0x54c]
lea ecx, [eax + eax*4]
shl ecx, 3
sub ecx, eax
lea edx, [eax + ecx*4]
shl edx, 2
push edx
call fcn.0048f240
xor ebp, ebp
add esp, 4
cmp eax, ebp
mov dword [edi + 0x28], eax
jne 0x49085f
push edi
call fcn.0048b880
mov eax, dword [esp + 0x14]
push eax
call fcn.00491570
push 0x4b1df8
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
push 0x3000
call fcn.0048f240
mov ebx, eax
add esp, 4
cmp ebx, ebp
mov dword [esp + 0x28], ebx
jne 0x4908a5
push edi
call fcn.0048b880
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00491570
push str.Unable_to_allocate_enough_memory_for_XMWAV
push 0x4b06c4
call fcn.00492257
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [edi + 0x54c]
mov esi, ebx
cmp eax, ebp
mov dword [esp + 0x24], ebp
jle 0x490c96
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x10]
mov ebp, dword [edi + 0x28]
mov ecx, dword [esp + 0x2c]
push edx
add ebp, ecx
call fcn.00491720
mov ebx, eax
mov eax, dword [esp + 0x14]
push 0x16
push eax
mov dword [esp + 0x40], ebx
call fcn.004915c0
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00491600
mov edx, dword [esp + 0x20]
push edx
call fcn.004916e0
mov ecx, dword [esp + 0x28]
add esp, 0x14
add ecx, ebx
cmp ebx, 0x1d
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jle 0x490c53
mov eax, dword [esp + 0x10]
push eax
call fcn.00491720
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
jle 0x490c53
mov ebx, ebp
mov dword [esp + 0x18], 0x60
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00491600
mov edx, dword [edi + 0x550]
add esp, 4
add ebx, 4
lea eax, [eax + edx + 1]
mov dword [ebx - 4], eax
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jne 0x490933
lea ebx, [ebp + 0x180]
mov dword [esp + 0x18], 0xc
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004916e0
mov dword [ebx + 0x30], eax
mov edx, dword [esp + 0x14]
push edx
call fcn.004916e0
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
add esp, 8
add ebx, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x49096d
lea ebx, [ebp + 0x1f8]
mov dword [esp + 0x18], 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.004916e0
mov dword [ebx + 0x30], eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004916e0
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
add esp, 8
add ebx, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x4909a5
xor ebx, ebx
mov dword [ebp + 0x1b0], ebx
mov dword [ebp + 0x228], ebx
mov edx, dword [esp + 0x10]
push edx
call fcn.00491600
mov dword [ebp + 0x1e0], eax
mov eax, dword [esp + 0x14]
push eax
call fcn.00491600
mov dword [ebp + 0x258], eax
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00491600
mov dword [ebp + 0x1e8], eax
mov dword [ebp + 0x1ec], eax
mov edx, dword [esp + 0x1c]
push edx
call fcn.00491600
mov dword [ebp + 0x1f0], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.00491600
mov dword [ebp + 0x1f4], eax
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00491600
mov dword [ebp + 0x260], eax
mov dword [ebp + 0x264], eax
mov edx, dword [esp + 0x28]
push edx
call fcn.00491600
mov dword [ebp + 0x268], eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.00491600
mov dword [ebp + 0x26c], eax
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00491600
mov dword [ebp + 0x1e4], eax
mov edx, dword [esp + 0x34]
push edx
call fcn.00491600
mov dword [ebp + 0x25c], eax
mov eax, dword [esp + 0x38]
push eax
call fcn.00491600
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x64], eax
push ecx
call fcn.00491600
mov edx, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
push edx
call fcn.00491600
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
push eax
call fcn.00491600
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x7c], eax
push ecx
call fcn.004916e0
mov ecx, dword [ebp + 0x1e0]
mov dword [ebp + 0x270], eax
mov eax, 0xc
add esp, 0x3c
cmp ecx, eax
jle 0x490ae9
mov dword [ebp + 0x1e0], eax
cmp dword [ebp + 0x258], eax
jle 0x490af7
mov dword [ebp + 0x258], eax
cmp dword [ebp + 0x1e0], ebx
jne 0x490b1e
test byte [ebp + 0x1e4], 1
je 0x490b1e
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x1e0], 1
mov dword [ebp + 0x1b0], ebx
mov dword [edx], ebx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
add eax, 0xffffff0f
push eax
push ecx
call fcn.004915c0
mov eax, dword [esp + 0x28]
add esp, 8
xor ebx, ebx
xor ebp, ebp
test eax, eax
jle 0x490c39
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx*8]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x44]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
mov eax, dword [esp + 0x10]
push eax
call fcn.00491720
mov dword [esi], eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00491720
mov dword [esi + 4], eax
mov edx, dword [esp + 0x18]
push edx
call fcn.00491720
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.00491600
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00491600
movsx edx, al
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x24]
push eax
call fcn.00491600
and eax, 0x1f
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00491600
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x2c]
push edx
call fcn.00491600
movsx eax, al
mov dword [esi + 0x1c], eax
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00491600
mov edx, dword [esp + 0x34]
push 0x16
push edx
call fcn.004915c0
mov eax, dword [edi + 0x550]
add esp, 0x2c
add eax, ebp
add esi, 0x30
mov dword [esp + eax*4 + 0x48], ebx
mov eax, dword [esi - 0x30]
add ebx, eax
mov eax, dword [esp + 0x20]
inc ebp
cmp ebp, eax
jl 0x490b53
mov ecx, eax
mov eax, dword [edi + 0x550]
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + eax*4 + 0x48]
add ebp, edx
mov dword [esp + eax*4 + 0x48], ebp
inc eax
dec ecx
mov dword [edi + 0x550], eax
jne 0x490c1b
mov eax, dword [esp + 0x10]
push ebx
push eax
call fcn.004915c0
mov eax, dword [esp + 0x1c]
add esp, 8
add eax, ebx
mov dword [esp + 0x14], eax
jmp 0x490c6d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44c]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
call fcn.00491580
add esp, 0xc
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edi + 0x54c]
inc eax
add edx, 0x274
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], edx
jl 0x4908bd
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x550]
inc eax
lea ecx, [eax + eax*2]
shl ecx, 4
push ecx
call fcn.0048f240
add esp, 4
mov dword [edi + 0x20], eax
test eax, eax
jne 0x490ce8
push ebx
call fcn.0049211e
push edi
call fcn.0048b880
mov edx, dword [esp + 0x18]
push edx
call fcn.00491570
push str.Unable_to_allocate_enough_memory_for_SAMPLE_INFO
push 0x4b06c4
call fcn.00492257
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [edi + 0x550]
inc eax
lea eax, [eax + eax*8]
shl eax, 2
push eax
call fcn.0048f240
add esp, 4
mov dword [edi + 0x2c], eax
test eax, eax
jne 0x490d3a
push ebx
call fcn.0049211e
push edi
call fcn.0048b880
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00491570
push str.Unable_to_allocate_enough_memory_for_SAMPLE
push 0x4b06c4
call fcn.00492257
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [edi + 0x550]
mov dword [esp + 0x24], 0
test eax, eax
jle 0x490f73
mov eax, 0xfffffffc
lea edx, [esp + 0x48]
sub eax, ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], edx
lea ebp, [ebx + 4]
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x34]
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x2c]
add ebx, esi
mov esi, dword [esp + 0x2c]
add ebx, ebp
add esi, ecx
mov dword [esi], 8
mov al, byte [ebp + 0x10]
test al, 0x10
je 0x490d95
mov dword [esi], 0x10
mov dword [esi + 8], 0x3e8
mov dword [esi + 0xc], 0xc0
mov eax, dword [ebp - 4]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp]
mov eax, dword [esi]
mov dword [esi + 0x14], ecx
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
add edx, ecx
cmp eax, 8
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 4], 0
jne 0x490dd5
mov eax, dword [esi + 0x10]
push eax
jmp 0x490ddb
mov ecx, dword [esi + 0x10]
shr ecx, 1
push ecx
call fcn.0048f240
add esp, 4
mov dword [esi + 0x20], eax
test eax, eax
je 0x490f9c
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x44c]
mov eax, dword [edx]
lea edx, [esp + 0x10]
push eax
push ecx
push edx
call fcn.00491580
mov eax, dword [esi]
add esp, 0xc
cmp eax, 8
mov eax, dword [esi + 0x20]
mov byte [esp + 0x1f], 0
mov dword [esp + 0x18], 0
jne 0x490e6b
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x20], 0
jbe 0x490ecf
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00491600
mov cl, byte [esp + 0x23]
mov edx, dword [esp + 0x34]
add cl, al
mov eax, dword [esp + 0x24]
mov byte [esp + 0x23], cl
xor cl, 0x80
add esp, 4
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x490e38
jmp 0x490ecf
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
shr edx, 1
mov dword [esp + 0x30], eax
mov dword [esi + 0x10], edx
mov eax, edx
mov edx, dword [esi + 0x18]
shr ecx, 1
shr edx, 1
test eax, eax
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], edx
mov dword [esi], 8
mov dword [esp + 0x20], 0
jbe 0x490ecf
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004916e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
add esp, 4
sar ecx, 8
xor cl, 0x80
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x490e9b
mov eax, dword [ebp - 4]
mov dword [ebx], eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x80
mov dword [ebx + 4], ecx
mov edx, dword [ebp + 0x18]
mov dword [ebx + 8], edx
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 0x10], ecx
mov edx, dword [ebp]
mov dword [ebx + 0x14], edx
mov eax, dword [ebp + 4]
add eax, dword [ebp]
mov dword [ebx + 0x18], eax
mov ecx, dword [ebp + 0x10]
and ecx, 7
mov dword [ebx + 0x1c], ecx
mov edx, dword [ebp + 0x1c]
mov dword [ebx + 0x20], edx
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0x24], eax
mov ecx, dword [ebp + 0x24]
mov dword [ebx + 0x28], ecx
mov edx, dword [ebp + 0x28]
mov dword [ebx + 0x2c], edx
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x18], eax
jbe 0x490f2d
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
cmp eax, ecx
jbe 0x490f3f
xor eax, eax
mov dword [esi + 0x14], eax
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 0x550]
inc eax
add ebx, 0x24
add ebp, 0x30
add edx, 4
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], edx
jl 0x490d6e
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x54c]
xor ebp, ebp
test eax, eax
jle 0x490fef
xor esi, esi
mov ecx, dword [edi + 0x28]
mov eax, esi
add eax, ecx
mov edx, 0x60
mov ecx, dword [eax]
cmp ecx, 1
jge 0x490fd5
mov ecx, dword [edi + 0x550]
jmp 0x490fd6
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0049211e
push edi
call fcn.0048b880
mov edx, dword [esp + 0x18]
push edx
call fcn.00491570
push str.Unble_to_allocate_enough_memory_for_sample_data
push 0x4b06c4
call fcn.00492257
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
dec ecx
mov dword [eax], ecx
add eax, 4
dec edx
jne 0x490f8d
mov eax, dword [edi + 0x54c]
inc ebp
add esi, 0x274
cmp ebp, eax
jl 0x490f81
mov eax, dword [edi + 0x550]
xor ebp, ebp
push 1
lea edx, [eax + eax*8]
mov eax, dword [edi + 0x2c]
lea esi, [eax + edx*4]
mov dword [esi], 8
mov dword [esi + 8], 0x3e8
mov dword [esi + 0xc], 0xc0
mov dword [esi + 0x10], ebp
mov dword [esi + 0x14], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 4], ebp
call fcn.0048f240
add esp, 4
cmp eax, ebp
mov dword [esi + 0x20], eax
jne 0x49106d
push ebx
call fcn.0049211e
push edi
call fcn.0048b880
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00491570
push 0x4b1eec
push 0x4b06c4
call fcn.00492257
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret
mov eax, dword [edi + 0x550]
push ebx
inc eax
mov dword [edi + 0x550], eax
call fcn.0049211e
mov edx, dword [esp + 0x14]
push edx
call fcn.00491570
push edi
call fcn.0048b9d0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret