Function at 0x578c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
push edi
call sym.vidcap60.exe__SfAudio_GetSampleType_4
movzx ecx, word [edi + 2]
mov dword [esp + 0x18], eax
movzx eax, word [edi + 0xc]
mov dword [esp + 0x24], eax
cdq
idiv ecx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x1c], ebx
mov edi, eax
mov eax, dword [ebp + 0xc]
mov edx, edi
imul edx, eax
cmp ecx, eax
mov dword [esp + 0x20], edx
jne 0x578cf4
mov eax, dword [ebp + 0x18]
push 0x3f800000
push eax
mov eax, dword [ebp + 0x14]
mov ecx, esi
push ecx
push eax
push ebx
push eax
call sym.vidcap60.exe__SfAudio_Copy_24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edx, dword [ebp + 0x14]
mov cx, word [edx + 2]
movzx edx, cx
cmp edx, eax
jge 0x578d68
cmp cx, 1
jne case.0x578d88.20
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0x24]
mov ecx, dword [ebp + 0x10]
imul esi, eax
add esi, ecx
mov ecx, dword [esp + 0x20]
imul ecx, eax
add ecx, ebx
test eax, eax
mov ebx, ecx
jle 0x5797aa
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
sub esi, ecx
test eax, eax
jle 0x578d57
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
push esi
sub ebx, edi
push ebx
push ecx
call fcn.004da440
dec dword [esp + 0x20]
jne 0x578d43
dec dword [esp + 0x1c]
jne 0x578d32
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp eax, 1
jne case.0x578d88.20
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
cmp eax, 0x32
ja case.0x578d88.20
movzx edx, byte [eax + 0x5797f0]
jmp dword [edx*4 + 0x5797c4]
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x24], eax
mov edi, edi
mov eax, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [eax + 2]
xor edx, edx
cmp ecx, 4
jl 0x578e1b
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
movsx ebx, byte [esi]
mov dword [esp + 0x2c], ebx
movsx ebx, byte [esi + edi]
fild dword [esp + 0x2c]
add esi, edi
mov dword [esp + 0x2c], ebx
fmul qword [0x5eb190]
movsx ebx, byte [esi + edi]
add esi, edi
faddp st(1)
add esi, edi
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
movsx ebx, byte [esi]
fmul qword [0x5eb190]
add esi, edi
dec eax
faddp st(1)
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
fmul qword [0x5eb190]
faddp st(1)
fild dword [esp + 0x2c]
fmul qword [0x5eb190]
faddp st(1)
jne 0x578dc2
cmp edx, ecx
jge 0x578e39
sub ecx, edx
movsx edx, byte [esi]
mov dword [esp + 0x2c], edx
add esi, edi
dec ecx
fild dword [esp + 0x2c]
fmul qword [0x5eb190]
faddp st(1)
jne 0x578e21
sub esp, 8
fstp qword [esp]
call fcn.004d97f0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov byte [ecx], al
mov eax, dword [esp + 0x24]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
jne 0x578da0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x24], eax
lea ecx, [ecx]
mov eax, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [eax + 2]
xor edx, edx
cmp ecx, 4
jl 0x578f14
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
mov bl, byte [esi]
xor bl, 0x80
movsx ebx, bl
mov dword [esp + 0x2c], ebx
mov bl, byte [esi + edi]
add esi, edi
fild dword [esp + 0x2c]
xor bl, 0x80
movsx ebx, bl
fmul qword [0x5eb190]
mov dword [esp + 0x2c], ebx
mov bl, byte [esi + edi]
add esi, edi
xor bl, 0x80
faddp st(1)
movsx ebx, bl
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov bl, byte [esi + edi]
fmul qword [0x5eb190]
add esi, edi
xor bl, 0x80
faddp st(1)
movsx ebx, bl
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
add esi, edi
dec eax
fmul qword [0x5eb190]
faddp st(1)
fild dword [esp + 0x2c]
fmul qword [0x5eb190]
faddp st(1)
jne 0x578ea6
cmp edx, ecx
jge 0x578f3d
sub ecx, edx
lea ebx, [ebx]
mov dl, byte [esi]
xor dl, 0x80
movsx eax, dl
mov dword [esp + 0x2c], eax
add esi, edi
dec ecx
fild dword [esp + 0x2c]
fmul qword [0x5eb190]
faddp st(1)
jne 0x578f20
sub esp, 8
fstp qword [esp]
call fcn.004d9720
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov byte [ecx], al
mov eax, dword [esp + 0x24]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
jne 0x578e80
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx edx, word [ecx + 2]
xor eax, eax
cmp edx, 4
jl 0x579057
lea ecx, [edx - 4]
shr ecx, 2
inc ecx
lea eax, [ecx*4]
mov dword [esp + 0x24], eax
jmp 0x578fb0
xor eax, eax
mov ax, word [esi]
add esi, edi
mov ebx, eax
shr ebx, 8
movsx eax, al
movzx ebx, bl
shl eax, 8
or ebx, eax
xor eax, eax
mov ax, word [esi]
mov dword [esp + 0x2c], ebx
add esi, edi
fild dword [esp + 0x2c]
fmul qword [0x5eb180]
mov ebx, eax
shr ebx, 8
faddp st(1)
movsx eax, al
movzx ebx, bl
shl eax, 8
or ebx, eax
xor eax, eax
mov ax, word [esi]
mov dword [esp + 0x2c], ebx
add esi, edi
fild dword [esp + 0x2c]
fmul qword [0x5eb180]
mov ebx, eax
shr ebx, 8
faddp st(1)
movsx eax, al
movzx ebx, bl
shl eax, 8
or ebx, eax
xor eax, eax
mov ax, word [esi]
mov dword [esp + 0x2c], ebx
add esi, edi
fild dword [esp + 0x2c]
fmul qword [0x5eb180]
mov ebx, eax
shr ebx, 8
faddp st(1)
movsx eax, al
movzx ebx, bl
shl eax, 8
or ebx, eax
dec ecx
mov dword [esp + 0x2c], ebx
fild dword [esp + 0x2c]
fmul qword [0x5eb180]
faddp st(1)
jne 0x578fb0
mov eax, dword [esp + 0x24]
cmp eax, edx
jge 0x57908a
sub edx, eax
lea ecx, [ecx]
xor eax, eax
mov ax, word [esi]
add esi, edi
mov ecx, eax
shr ecx, 8
movsx eax, al
movzx ecx, cl
shl eax, 8
or ecx, eax
dec edx
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fmul qword [0x5eb180]
faddp st(1)
jne 0x579060
sub esp, 8
fstp qword [esp]
call fcn.004da330
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov word [ecx], ax
mov eax, dword [esp + 0x18]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jne 0x578f81
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
xor ebx, ebx
cmp eax, ebx
jle 0x5797aa
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx edx, word [ecx + 2]
xor eax, eax
cmp edx, 4
jl 0x5791cd
lea eax, [edx - 4]
shr eax, 2
inc eax
lea ecx, [eax*4]
mov byte [esp + 0x18], bl
mov dword [esp + 0x24], ecx
nop
mov ecx, esi
mov bx, word [ecx]
mov cl, byte [ecx + 2]
mov byte [esp + 0x19], cl
mov cx, bx
shr cx, 8
mov byte [esp + 0x1a], cl
mov cl, bl
mov byte [esp + 0x1b], cl
fild dword [esp + 0x18]
add esi, edi
mov ecx, esi
fmul qword [0x5eb178]
mov word [esp + 0xc], bx
mov bx, word [ecx]
mov cl, byte [ecx + 2]
mov byte [esp + 0x19], cl
mov cx, bx
shr cx, 8
mov byte [esp + 0x1a], cl
mov cl, bl
mov byte [esp + 0x1b], cl
add esi, edi
mov ecx, esi
mov word [esp + 0xc], bx
mov bx, word [ecx]
mov cl, byte [ecx + 2]
faddp st(1)
fild dword [esp + 0x18]
mov byte [esp + 0x19], cl
mov cx, bx
shr cx, 8
fmul qword [0x5eb178]
mov byte [esp + 0x1a], cl
mov cl, bl
mov byte [esp + 0x1b], cl
add esi, edi
mov ecx, esi
mov word [esp + 0xc], bx
mov bx, word [ecx]
mov cl, byte [ecx + 2]
faddp st(1)
fild dword [esp + 0x18]
mov byte [esp + 0x19], cl
mov cx, bx
shr cx, 8
fmul qword [0x5eb178]
mov byte [esp + 0x1a], cl
mov cl, bl
mov byte [esp + 0x1b], cl
faddp st(1)
fild dword [esp + 0x18]
add esi, edi
dec eax
mov word [esp + 0xc], bx
fmul qword [0x5eb178]
faddp st(1)
jne 0x579100
mov eax, dword [esp + 0x24]
xor ebx, ebx
cmp eax, edx
jge 0x579208
mov byte [esp + 0x18], bl
sub edx, eax
mov eax, esi
mov cx, word [eax]
mov al, byte [eax + 2]
mov byte [esp + 0x19], al
mov ax, cx
shr ax, 8
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], cl
fild dword [esp + 0x18]
add esi, edi
dec edx
fmul qword [0x5eb178]
mov word [esp + 0xc], cx
faddp st(1)
jne 0x5791d7
sub esp, 8
lea edx, [esp + 0x18]
fstp qword [esp]
push edx
call fcn.004da380
mov dx, word [eax]
mov ecx, dword [esp + 0x1c]
mov word [ecx], dx
mov al, byte [eax + 2]
mov edx, dword [esp + 0x1c]
mov byte [ecx + 2], al
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
add edx, ecx
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], eax
jne 0x5790d1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x2c], eax
nop
mov edx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx edx, word [edx + 2]
xor ebx, ebx
cmp edx, 4
jl 0x57932c
lea ecx, [edx - 4]
shr ecx, 2
inc ecx
lea ebx, [ecx*4]
mov eax, dword [esi]
mov byte [esp + 0xf], al
mov byte [esp + 0xe], ah
mov dword [esp + 0x24], eax
shr eax, 0x10
mov byte [esp + 0xd], al
mov byte [esp + 0xc], ah
fild dword [esp + 0xc]
mov eax, dword [esi + edi]
add esi, edi
fmul qword [0x5eb178]
mov byte [esp + 0xf], al
mov byte [esp + 0xe], ah
mov dword [esp + 0x24], eax
shr eax, 0x10
mov byte [esp + 0xd], al
mov byte [esp + 0xc], ah
mov eax, dword [esi + edi]
faddp st(1)
fild dword [esp + 0xc]
add esi, edi
mov byte [esp + 0xf], al
mov byte [esp + 0xe], ah
fmul qword [0x5eb178]
mov dword [esp + 0x24], eax
shr eax, 0x10
mov byte [esp + 0xd], al
mov byte [esp + 0xc], ah
mov eax, dword [esi + edi]
faddp st(1)
fild dword [esp + 0xc]
add esi, edi
mov byte [esp + 0xf], al
mov byte [esp + 0xe], ah
fmul qword [0x5eb178]
mov dword [esp + 0x24], eax
shr eax, 0x10
mov byte [esp + 0xd], al
faddp st(1)
mov byte [esp + 0xc], ah
fild dword [esp + 0xc]
add esi, edi
dec ecx
fmul qword [0x5eb178]
faddp st(1)
jne 0x579286
cmp ebx, edx
jge 0x57935e
sub edx, ebx
mov ecx, edx
mov eax, dword [esi]
mov byte [esp + 0xf], al
mov byte [esp + 0xe], ah
mov dword [esp + 0x24], eax
shr eax, 0x10
mov byte [esp + 0xd], al
mov byte [esp + 0xc], ah
fild dword [esp + 0xc]
add esi, edi
dec ecx
fmul qword [0x5eb178]
faddp st(1)
jne 0x579334
sub esp, 8
fstp qword [esp]
call fcn.004da3e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
jne 0x579260
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [eax + 2]
xor edx, edx
cmp ecx, 4
jl 0x57941d
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
movsx ebx, word [esi]
mov dword [esp + 0x24], ebx
movsx ebx, word [esi + edi]
fild dword [esp + 0x24]
add esi, edi
fmul qword [0x5eb180]
mov dword [esp + 0x24], ebx
movsx ebx, word [esi + edi]
add esi, edi
faddp st(1)
add esi, edi
fild dword [esp + 0x24]
mov dword [esp + 0x24], ebx
movsx ebx, word [esi]
fmul qword [0x5eb180]
add esi, edi
dec eax
faddp st(1)
fild dword [esp + 0x24]
mov dword [esp + 0x24], ebx
fmul qword [0x5eb180]
faddp st(1)
fild dword [esp + 0x24]
fmul qword [0x5eb180]
faddp st(1)
jne 0x5793c4
cmp edx, ecx
jge 0x57943b
sub ecx, edx
movsx edx, word [esi]
mov dword [esp + 0x24], edx
add esi, edi
dec ecx
fild dword [esp + 0x24]
fmul qword [0x5eb180]
faddp st(1)
jne 0x579423
sub esp, 8
fstp qword [esp]
call fcn.004d9750
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov word [ecx], ax
mov eax, dword [esp + 0x2c]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
jne 0x5793a2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [ecx + 2]
xor eax, eax
cmp ecx, 4
jl 0x579583
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
mov dword [esp + 0x24], edx
lea ebx, [ebx]
mov edx, esi
mov bx, word [edx]
mov dl, byte [edx + 2]
mov byte [esp + 0xe], dl
xor edx, edx
mov dh, bl
mov word [esp + 0xc], bx
add esi, edi
mov word [esp + 0x18], dx
mov dx, word [esp + 0xd]
mov word [esp + 0x1a], dx
fild dword [esp + 0x18]
mov edx, esi
mov bx, word [edx]
mov dl, byte [edx + 2]
fmul qword [0x5eb178]
mov byte [esp + 0xe], dl
xor edx, edx
mov dh, bl
mov word [esp + 0xc], bx
add esi, edi
faddp st(1)
mov word [esp + 0x18], dx
mov dx, word [esp + 0xd]
mov word [esp + 0x1a], dx
fild dword [esp + 0x18]
mov edx, esi
mov bx, word [edx]
mov dl, byte [edx + 2]
fmul qword [0x5eb178]
mov byte [esp + 0xe], dl
xor edx, edx
mov dh, bl
mov word [esp + 0xc], bx
add esi, edi
faddp st(1)
mov word [esp + 0x18], dx
mov dx, word [esp + 0xd]
mov word [esp + 0x1a], dx
fild dword [esp + 0x18]
mov edx, esi
mov bx, word [edx]
mov dl, byte [edx + 2]
fmul qword [0x5eb178]
mov byte [esp + 0xe], dl
xor edx, edx
mov dh, bl
mov word [esp + 0xc], bx
faddp st(1)
add esi, edi
dec eax
mov word [esp + 0x18], dx
mov dx, word [esp + 0xd]
mov word [esp + 0x1a], dx
fild dword [esp + 0x18]
fmul qword [0x5eb178]
faddp st(1)
jne 0x5794b0
mov eax, dword [esp + 0x24]
cmp eax, ecx
jge 0x5795c7
sub ecx, eax
lea esp, [esp]
mov eax, esi
mov dx, word [eax]
mov al, byte [eax + 2]
mov word [esp + 0xc], dx
xor edx, edx
mov dh, byte [esp + 0xc]
mov byte [esp + 0xe], al
mov ax, word [esp + 0xd]
mov word [esp + 0x1a], ax
add esi, edi
dec ecx
mov word [esp + 0x18], dx
fild dword [esp + 0x18]
fmul qword [0x5eb178]
faddp st(1)
jne 0x579590
sub esp, 8
lea ecx, [esp + 0x1c]
fstp qword [esp]
push ecx
call fcn.004d9830
mov ecx, dword [esp + 0x1c]
mov bx, word [eax]
mov edx, ecx
mov word [edx], bx
mov al, byte [eax + 2]
mov byte [edx + 2], al
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
add ecx, edx
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
jne 0x579480
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [ecx + 2]
xor edx, edx
cmp ecx, 4
jl 0x579675
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
fild dword [esi]
add esi, edi
fmul qword [0x5eb178]
faddp st(1)
fild dword [esi]
add esi, edi
fmul qword [0x5eb178]
faddp st(1)
fild dword [esi]
add esi, edi
fmul qword [0x5eb178]
faddp st(1)
fild dword [esi]
add esi, edi
dec eax
fmul qword [0x5eb178]
faddp st(1)
jne 0x579642
cmp edx, ecx
jge 0x57968f
sub ecx, edx
jmp 0x579680
fild dword [esi]
add esi, edi
dec ecx
fmul qword [0x5eb178]
faddp st(1)
jne 0x579680
sub esp, 8
fstp qword [esp]
call fcn.004d97b0
mov ecx, dword [esp + 0x20]
mov dword [ebx], eax
mov eax, dword [esp + 0x2c]
add ebx, ecx
dec eax
mov dword [esp + 0x2c], eax
jne 0x579620
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
nop
mov eax, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [eax + 2]
xor edx, edx
cmp ecx, 4
jl 0x579705
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
fadd dword [esi]
add esi, edi
fadd dword [esi]
add esi, edi
fadd dword [esi]
add esi, edi
fadd dword [esi]
add esi, edi
dec eax
jne 0x5796f2
cmp edx, ecx
jge 0x579717
sub ecx, edx
jmp 0x579710
fadd dword [esi]
add esi, edi
dec ecx
jne 0x579710
mov ecx, dword [esp + 0x20]
fstp dword [ebx]
mov eax, dword [esp + 0x2c]
add ebx, ecx
dec eax
mov dword [esp + 0x2c], eax
jne 0x5796d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp + 0x18]
test eax, eax
jle 0x5797aa
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
jmp 0x579750
mov ecx, dword [ebp + 0x14]
fld qword [0x5d8c90]
movzx ecx, word [ecx + 2]
xor edx, edx
cmp ecx, 4
jl 0x579785
lea eax, [ecx - 4]
shr eax, 2
inc eax
lea edx, [eax*4]
fadd qword [esi]
add esi, edi
fadd qword [esi]
add esi, edi
fadd qword [esi]
add esi, edi
fadd qword [esi]
add esi, edi
dec eax
jne 0x579772
cmp edx, ecx
jge 0x579797
sub ecx, edx
jmp 0x579790
fadd qword [esi]
add esi, edi
dec ecx
jne 0x579790
mov ecx, dword [esp + 0x20]
fstp qword [ebx]
mov eax, dword [esp + 0x2c]
add ebx, ecx
dec eax
mov dword [esp + 0x2c], eax
jne 0x579750
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov esp, ebp
pop ebp
ret 0x14